Eu tenho um script python parse.py, que no script abre um arquivo, digamos file1 e, em seguida, faz algo que talvez imprima o número total de caracteres.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
No momento, estou usando o stdout para direcionar o resultado para o meu arquivo de saída - output
python parse.py >> output
No entanto, eu não quero fazer esse arquivo por arquivo manualmente. Existe uma maneira de cuidar de cada arquivo automaticamente? Gostar
ls | awk '{print}' | python parse.py >> output
Então o problema é como eu poderia ler o nome do arquivo em standardin? ou já existem algumas funções internas para executar o sl e esse tipo de trabalho facilmente?
Obrigado!
with ... as ...:
declarações. Você poderia esclarecer?Permission Error: [Errno 13] Permission denied:
você deve tentar usar os.walk
fonte
Eu estava procurando por esta resposta:
você também pode escolher '* .txt' ou outras extremidades do seu nome de arquivo
fonte
Na verdade, você pode simplesmente usar o módulo os para fazer as duas coisas:
Aqui está um exemplo simples:
Agora você não apenas listou todos os arquivos em uma pasta, mas também os classificou (opcionalmente) por nome inicial, tipo de arquivo e outros. Agora, faça uma iteração sobre cada lista e faça suas coisas.
fonte
fonte
O código abaixo mostra todos os arquivos de texto disponíveis no diretório que contém o script que estamos executando. Em seguida, ele abre todos os arquivos de texto e armazena as palavras da linha de texto em uma lista. Depois de armazenar as palavras, imprimimos cada palavra linha por linha
fonte