'对于文件名中的文件名:'导致IOError:[Errno 2]没有这样的文件或目录:'t'python [duplicate]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'对于文件名中的文件名:'导致IOError:[Errno 2]没有这样的文件或目录:'t'python [duplicate]相关的知识,希望对你有一定的参考价值。

我想在一个文件中添加两个或更多文件以及所有信息。我的代码是:

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
')
        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'

为什么?我做错了什么?

答案

你传递了一个字符串作为filenames,函数用字符迭代它。传递一个列表。将函数从add_file重命名为add_files可能更好。

小心out.txt;如果你想多次调用这个函数,你应该以追加模式而不是'w'模式打开它。

另一答案

你正在为filenames传递一个字符串,所以函数在字符串中迭代它。通过列表来解决这个问题。

另一答案
for filename in filenames:

上面的行是通过你的第一个参数迭代一个,这恰好是一个字符串。

当你拨打这一行时

with open(filename, 'r') as infile:

'filename'是文件名中的项目。一旦到达字符串的第一个字母,就会发生错误。

以上是关于'对于文件名中的文件名:'导致IOError:[Errno 2]没有这样的文件或目录:'t'python [duplicate]的主要内容,如果未能解决你的问题,请参考以下文章

我无法从另一个文件夹导入函数,它导致导入错误(ImportError:无法导入名称'token_required')

Python文件与IO

Python文件与IO

reference to 'X' is ambiguous 解决

爬坑PIL,文件名Image与类Image()重名,导致引用new,open不成功,报错 type object 'Image' has no attribute 'new&#

PHP curl 上传大文件非常大慢,导致超时,小文件(10M以下)的还可以,请问如何解决啊!