处理多个文件时出现Python错误

处理多个文件时出现Python错误,python,Python,我是python新手。我试图从子文件夹中逐个读取多个文件,进行一些处理和输出。下面是我的代码: import os rootdir = 'dir' for subdir, dirs, files in os.walk(rootdir): for fname in files: print os.path.join(subdir, fname) f = open(fname, 'r') lines = f.readlines()

我是python新手。我试图从子文件夹中逐个读取多个文件,进行一些处理和输出。下面是我的代码:

import os
rootdir = 'dir'

for subdir, dirs, files in os.walk(rootdir):
    for fname in files:

        print os.path.join(subdir, fname)

        f = open(fname, 'r')
        lines = f.readlines()
        f.close()

        f = open(fname, 'w')
        for line in lines:
            f['X1'] = f['X1'].astype(str)
但我有以下错误:

IOError: [Errno2] No such file or directory : 'test.txt'

您的问题是您正在这样做:

os.path.join(subdir, fname)
但您没有将其分配给变量,因此在执行此操作时:

f=open(fname,'r')
您仍然只使用文件名

您应该这样做:

file_path = os.path.join(subdir, fname)
现在你已经有了文件路径。那么这个,

f=open(file_path,'r')

打印
os.path.join
的结果,但随后打开的是
fname
,而不是连接的子目录+fname。正确吗?请格式化您的问题,并在每行代码的开头添加4个空格。