我有一个从命令提示符获取输入文件名的 python 脚本。我创建了一个列表来存储所有输入文件并将其传递给一个函数以创建一个新文件,所有输入文件一次合并。现在,我将这个新编写的文件作为输入传递给另一个函数。我收到一条错误消息
TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到列表
代码:
file_list = []
for arg in range(1,len(sys.argv)-2):
file_list.append(sys.argv[arg])
process_name = sys.argv[len(sys.argv)-1]
integrate_files(file_list,process_name)
def integrate_files(file_list,process_name):
with open('result.log', 'w' ) as result:
for file_ in file_list:
for line in open( file_, 'r' ):
result.write( line )
start_process(result,process_name)
def start_process(result,process_name):
with open(result,'r') as mainFile:
content = mainFile.readlines()
我在带有单词with.open()的行中突出显示了此错误。我试图打印 result.log 文件的绝对路径。它在 0x000000000227578 处打印关闭的文件“result.log”,模式“w”。我哪里错了?我应该如何创建一个新文件并将其传递给函数?