将多个文件合并为一个文件,新文件文件应合并到输出文件的新行



我已经编写了脚本,将多个文件合并为一个文件,并从中创建列表。

要求:file1 + file2 = file3如下

file1:

37717531209
201128307083
211669759863
496338947094

文件2:

348353447295
278262427715
901601149752
333676465561

my outputfile(不期望这个输出):

37717531209
201128307083
211669759863
496338947094348353447295
278262427715
901601149752
333676465561

my expected outputfile:

37717531209
201128307083
211669759863
496338947094
348353447295
278262427715
901601149752
333676465561
我的代码是:
with open(outputfile, 'wb') as outfile:
for filename in glob.glob('*.accts'):
if filename == outputfile:
# don't want to copy the output into the output
continue
with open(filename, 'rb') as readfile:
shutil.copyfileobj(readfile, outfile)
#accounts = list(outfile)
with open('accounts.txt') as f:
acc = list(f)
accounts = []
for element in acc:
accounts.append(element.strip())

我希望新文件从下一行合并。不要从同一行开始。

您似乎没有做任何需要将输入文件的内容写入输出文件的事情。最后,在创建输出文件之后,重新打开它并处理其中包含的帐号。您可以简单地这样做,这根本不需要输出文件:

accounts = []
for filename in glob.glob('*.accts'):
with open(filename) as readfile:
accounts.extend(line.strip() for line in readfile)
return accounts

此外,您可能不需要下载*。acct文件通过使用download_fileobj()将文件下载到一个类似文件的对象中(例如io.BytesIO对象),并从那里进行处理。

相关内容

  • 没有找到相关文章

最新更新