IOError:[Errno 2]没有这样的文件或目录:'t'python
问题描述:
我想添加两个或更多的文件在一个文件中的所有信息。我的代码是:IOError:[Errno 2]没有这样的文件或目录:'t'python
def add_file(filenames, output_file):
with open(output_file, 'w') as master_file:
master_file.write('C/A,UNIT,SCP,DATEn,TIMEn,DESCn,ENTRIESn,EXITSn\n')
for filename in filenames:
with open(filename, 'r') as infile:
master_file.write(infile.read())
当我打电话把所有文件 显示:
IOError: [Errno 2] No such file or directory: 't'
为什么?我做错了什么?
答
您传递了一个字符串作为filenames
,并且该函数通过字符迭代它。代之以传递一个列表。将函数从add_file
重命名为add_files
可能会更好。
小心out.txt
;如果您想要多次调用此函数,则应该在追加模式而不是“w”模式下打开它。
+0
或其他一些迭代。 –
答
您正在为filenames
传递一个字符串,所以函数会在字符串中迭代它。通过一个列表来解决这个问题。
答
for filename in filenames:
上面的代码行在您的第一个参数中迭代一次,这恰好是一个字符串。
当调用此行
with open(filename, 'r') as infile:
“名”是在文件名中的项目存在什么。一旦达到字符串的第一个字母,就会发生错误。
您正在为'filenames'传入一个字符串,因此它会遍历字符串 – Wondercricket