我有一个 python 脚本 parse.py,它在脚本中打开一个文件,比如 file1,然后做一些事情可能会打印出字符总数。
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
现在,我正在使用 stdout 将结果定向到我的输出文件 - 输出
python parse.py >> output
但是,我不想手动逐个文件执行此文件,有没有办法自动处理每个文件?喜欢
ls | awk '{print}' | python parse.py >> output
那么问题是如何从标准中读取文件名?或者已经有一些内置函数可以轻松完成 ls 和那些工作?
谢谢!
原文由 B.Mr.W. 发布,翻译遵循 CC BY-SA 4.0 许可协议
操作系统
您可以使用
os.listdir
列出当前目录中的所有文件:全球
或者您可以仅列出一些文件,具体取决于使用
glob
模块的文件模式:它不必是当前目录,您可以在任何您想要的路径中列出它们:
管道
或者您甚至可以使用指定的管道
fileinput
然后您可以将它与管道一起使用: