使用 Python 遍历目录

新手上路,请多包涵

我需要遍历给定目录的子目录并搜索文件。如果我得到一个文件,我必须打开它并更改内容并用我自己的行替换它。

我试过这个:

 import os

rootdir ='C:/Users/sid/Desktop/test'

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        f=open(file,'r')
        lines=f.readlines()
        f.close()
        f=open(file,'w')
        for line in lines:
            newline = "No you are not"
            f.write(newline)
        f.close()

但我收到一个错误。我究竟做错了什么?

原文由 Wolf 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 325
1 个回答

实际浏览目录的工作方式与您编写的代码相同。如果将内部循环的内容替换为简单的 print 语句,您可以看到找到了每个文件:

 import os
rootdir = 'C:/Users/sid/Desktop/test'

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        print(os.path.join(subdir, file))


如果在运行上述程序时仍然出现错误,请提供错误消息。

原文由 ChrisProsser 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题