执行打开命令时找不到文件错误。(filenotfounderror)
for r, d, f in os.walk(path):
for file in f:
print(file)
k=open(file,'r')
答案 0 :(得分:1)
files
是文件名列表for root, dirs, files in os.walk(path):
print(f)
通过运行该代码,它将打印文件列表,不包括目录。
for root, dirs, files in os.walk(path):
for file in files:
k=open(root+"\\"+file,'r')
之所以起作用,是因为您需要整个文件路径,root
是文件之前的文件路径,将它们放在一起将为您提供整个路径。
答案 1 :(得分:0)
file
只是文件名,而不是路径。
不能指望仅从嵌套目录的名称打开文件。
获取文件或目录中的完整路径(从顶部开始) dirpath,执行os.path.join(dirpath,name)。
for r, d, f in os.walk(path):
for file in f:
file_path = os.path.join(r, file)
print(file_path)
k = open(file_path, 'r')
您可以查找文档以获取更多信息https://docs.python.org/3/library/os.html#os.walk,并且不要忘记关闭文件或使用上下文管理器!