У меня есть скрипт на python parse.py, который в скрипте открывает файл, скажем file1, а затем что-то делает, может быть, распечатывает общее количество символов.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
Прямо сейчас я использую стандартный вывод, чтобы направить результат в мой выходной файл - вывод
python parse.py >> output
Однако я не хочу делать этот файл за файлом вручную, есть ли способ автоматически позаботиться о каждом отдельном файле? подобно
ls | awk '{print}' | python parse.py >> output
Тогда проблема в том, как я могу прочитать имя файла из стандарта? или уже есть какие-то встроенные функции для облегчения работы с ls и такого рода?
Спасибо!
with ... as ...:
заявления. Не могли бы вы уточнить?Permission Error: [Errno 13] Permission denied:
вы должны попробовать использовать os.walk
источник
Я искал этот ответ:
Вы также можете выбрать «* .txt» или другие концы вашего имени файла.
источник
На самом деле вы можете просто использовать модуль os, чтобы сделать оба:
Вот простой пример:
Теперь вы не только перечислили все файлы в папке, но и отсортировали их (по желанию) по имени, типу файла и другим. Просто перебирайте каждый список и делайте свое дело.
источник
источник
Код ниже читает для любых текстовых файлов, доступных в каталоге, который содержит скрипт, который мы запускаем. Затем он открывает каждый текстовый файл и сохраняет слова текстовой строки в списке. После сохранения слов мы печатаем каждое слово построчно
источник