即使转到正确的路径,我也无法在python中打开文件

时间:2019-12-07 19:29:12

标签: python-3.x

  1. 能够打印文件名
  2. 执行打开命令时找不到文件错误。(filenotfounderror)

      for r, d, f in os.walk(path):
         for file in f:
           print(file)   
           k=open(file,'r')  
    

2 个答案:

答案 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,并且不要忘记关闭文件或使用上下文管理器!