Thanks to visit codestin.com
Credit goes to pt.scribd.com

0% acharam este documento útil (0 voto)
17 visualizações22 páginas

Modulo 9 AulaExtra SysArgv

O documento aborda a leitura de arquivos e entrada padrão em Python, utilizando o módulo 'sys' para acessar argumentos da linha de comando. Ele fornece exemplos práticos de como ler dados de arquivos e processá-los, além de explicar os modos de escrita em arquivos. O conteúdo é voltado para iniciantes que desejam entender como manipular entradas e saídas em scripts Python.

Enviado por

Sidnei
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
17 visualizações22 páginas

Modulo 9 AulaExtra SysArgv

O documento aborda a leitura de arquivos e entrada padrão em Python, utilizando o módulo 'sys' para acessar argumentos da linha de comando. Ele fornece exemplos práticos de como ler dados de arquivos e processá-los, além de explicar os modos de escrita em arquivos. O conteúdo é voltado para iniciantes que desejam entender como manipular entradas e saídas em scripts Python.

Enviado por

Sidnei
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 22

Leitura de Arquivos via

Entrada Padrão (stdin)


Prof. Dr. André Grégio
Prof. Dr. Paulo Almeida
Leitura da entrada padrão

O módulo “sys” provê acesso a funções para interagir com o interpretador, como
ler argumentos da entrada padrão.

Para um programa receber o valor “5” via linha de comando, como abaixo

$ python meu_script.py 5

Você digitou o número 5.

o interpretador tem que obter o argumento dado e processá-lo dentro do script.


Leitura da entrada padrão

$ python meu_script.py 5

Você digitou o número 5.

import sys

entrada = sys.argv[1]

print(“Você digitou o número {}.”.format(entrada))


Leitura da entrada padrão

$ python meu_script.py 5
lista de argumentos
Você digitou o número 5. advindos da linha de
comando e passados
import sys para o script Python!

entrada = sys.argv[1]

print(“Você digitou o número {}.”.format(entrada))


Leitura da entrada padrão
primeiro elemento
$ python meu_script.py 5 -15 nome 0 sim (índice 0) é o próprio
programa!

print(sys.argv)

['meu_script.py', '5', '-15', 'nome', '0', 'sim']


Leitura da entrada padrão/função

import sys

def fat(n):
res = 1
for i in range(2,n+1):
res *= i
print(res)

n = int(sys.argv[1])
fat(n)
Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo
1.2. Abra o arquivo
1.3. Leia o arquivo linha por linha
Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo ($ python3 processa_texto.py /Docs/poesia.txt )

arq_nome = sys.argv[1]

1.2. Abra o arquivo


1.3. Leia o arquivo linha por linha
Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo ($ python3 processa_texto.py /Docs/poesia.txt)

arq_nome = sys.argv[1]

1.2. Abra o arquivo


1.3. Leia o arquivo linha por linha
Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo ($ python3 processa_texto.py /Docs/poesia.txt)
arq_nome = sys.argv[1]
1.2. Abra o arquivo

arq_handle = open(arq_nome)

1.3. Leia o arquivo linha por linha


Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo ($ python3 processa_texto.py /Docs/poesia.txt)
arq_nome = sys.argv[1]
1.2. Abra o arquivo
arq_handle = open(arq_nome)# aberto para leitura!
1.3. Leia o arquivo linha por linha

texto = arq_handle.read()
Leitura de arquivos via stdin

Passo a passo:

1. Considere um arquivo de texto


1.1. Receba o caminho do arquivo ($ python3 processa_texto.py /Docs/poesia.txt)
arq_nome = sys.argv[1]
1.2. Abra o arquivo
arq_handle = open(arq_nome)
1.3. Leia o arquivo linha por linha

texto = arq_handle.read() # lê para uma string


Leitura de arquivos via stdin

import sys

arq_nome = sys.argv[1] # caminho para arquivo


arq_handle = open(arq_nome)# abre para leitura
texto = arq_handle.read() # lê para uma string

print(texto)

print(type(texto))
Leitura de arquivos via stdin

$ python3 processa_texto.py texto.txt


import sys

arq_nome = sys.argv[1] # caminho para arquivo


arq_handle = open(arq_nome) # abre para leitura
texto = arq_handle.read() # lê para uma string # texto.txt
print(texto)
linha 1
linha 2
linha 3
print(type(texto))

linha 1
linha 2
linha 3
<class 'str'>
Leitura de arquivos via stdin

import sys

texto = open(sys.argv[1]).read() # texto.txt


linha 1
linhas = texto.split("\n") linha 2
linha 3
print(linhas)

print(type(linhas))
Leitura de arquivos via stdin
import sys

texto = open(sys.argv[1]).read()
linhas = texto.split("\n") # texto.txt
print(linhas) linha 1
print(type(linhas)) linha 2
linha 3
$ python3 processa_texto.py texto.txt

['linha 1', 'linha 2', 'linha 3', '']


<class 'list'>
Leitura de arquivos via stdin
import sys

texto = open(sys.argv[1]). readline()


print(texto) # texto.txt
print(type(texto)) linha 1
linha 2
$ python3 processa_texto.py texto.txt linha 3

linha 1

<class 'str'>
Leitura de arquivos via stdin
import sys

texto = open(sys.argv[1]). readlines()


print(texto) # texto.txt
print(type(texto)) linha 1
linha 2
$ python3 processa_texto.py texto.txt linha 3

['linha 1\n', 'linha 2\n', 'linha 3\n']


<class 'list'>
Leitura de arquivos via stdin
import sys

texto = open(sys.argv[1]). read().splitlines()


print(texto) # texto.txt
print(type(texto)) linha 1
linha 2
$ python3 processa_texto.py texto.txt linha 3

['linha 1', 'linha 2', 'linha 3']


<class 'list'>
Leitura de arquivos via stdin
import sys

arq = open(sys.argv[1])
texto = arq.read().splitlines()
print(texto)
print(type(texto)) Lembrar de
arq.close() fechar o
arquivo!
Escrita de arquivos (modos)
arq_saida = open(sys.argv[2], 'w')

● ‘w’ abre o arquivo em modo escrita


● Se o arquivo *não* existir, cria um novo
● Senão, sobrescreve!
Escrita de arquivos (modos)
arq_saida = open(sys.argv[2], 'a')

● ‘a’ abre o arquivo em modo append


● Se o arquivo *não* existir, cria um novo
● Senão, insere no final!

Você também pode gostar