';对于文件名中的文件名:';导致IOError:[Errno 2]没有这样的文件或目录:';t';python
我想在一个包含所有信息的文件中添加两个或多个文件。我的代码是:';对于文件名中的文件名:';导致IOError:[Errno 2]没有这样的文件或目录:';t';python,python,file,iteration,Python,File,Iteration,我想在一个包含所有信息的文件中添加两个或多个文件。我的代码是: 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 op
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())
当我调用以放置所有文件时,如下所示:
add_file('turnstile_170603.txt','out.txt')
展示:
IOError:[Errno 2]没有这样的文件或目录:“t”
为什么??我做错了什么?您以
文件名的形式传递了一个字符串,函数通过字符对其进行迭代。而是传递一个列表。最好将函数从add_file
重命名为add_files
小心使用out.txt
;如果要调用此函数1次以上,应以追加模式而不是“w”模式打开它 您传递了一个字符串作为文件名
,函数通过字符对其进行迭代。而是传递一个列表。最好将函数从add_file
重命名为add_files
小心使用out.txt
;如果要调用此函数1次以上,应以追加模式而不是“w”模式打开它 您正在为文件名
传递一个字符串,因此函数将在该字符串中进行迭代。传递一个列表以解决此问题。您正在为文件名传递一个字符串,因此函数将在该字符串中进行迭代。传递列表以修复此问题
for filename in filenames:
上面的一行通过您的第一个参数一次迭代一个,该参数恰好是一个字符串
当你打这个电话的时候
with open(filename, 'r') as infile:
“filename”是作为项目存在于文件名中的内容。一旦到达字符串的第一个字母,就会发生错误
上面的一行通过您的第一个参数一次迭代一个,该参数恰好是一个字符串
当你打这个电话的时候
with open(filename, 'r') as infile:
“filename”是作为项目存在于文件名中的内容。当到达字符串的第一个字母时,就会发生错误。您正在为文件名
传入一个字符串,因此它会在字符串中迭代当文件名
是字符串而不是列表时,它会迭代字符串的各个字母,而不是您想要的。如果您的字符串确实包含(以空格分隔的)列表,请首先使用.split
命令生成列表。您正在为文件名
传入一个字符串,因此它在字符串中进行迭代当文件名
是字符串而不是列表时,它会迭代字符串的各个字母,而不是您想要的字母。如果您的字符串确实包含(以空格分隔的)列表,请首先使用.split
命令生成列表。或其他一些iterable。或其他一些iterable。