python中文本文件(.txt文件)与列表的连接?
假设我有两个文本文件1.txt和2.txtpython中文本文件(.txt文件)与列表的连接?,python,python-3.x,list,file,Python,Python 3.x,List,File,假设我有两个文本文件1.txt和2.txt 1.txt的内容如下: ['Hi', 'I', 'am'] ['a', 'boy'] 及 2.txt的内容如下: ['Hi', 'I', 'am'] ['a', 'boy'] 如何以节省时间的方式将其加入并写入新文件,例如3.txt,如下所示: ['Hi', 'I', 'am', 'a', 'boy'] inputText = [] for file in ['1.txt','2.txt']: with open(file,'r')
1.txt的内容如下:
['Hi', 'I', 'am']
['a', 'boy']
及
2.txt的内容如下:
['Hi', 'I', 'am']
['a', 'boy']
如何以节省时间的方式将其加入并写入新文件,例如3.txt
,如下所示:
['Hi', 'I', 'am', 'a', 'boy']
inputText = []
for file in ['1.txt','2.txt']:
with open(file,'r') as file:
inputText.extend(file.readlines()+['\n'])
with open ('3.txt','w') as output:
for line in inputText:
output.write(line)
我试过:
import os
file_list = os.listdir("path")
with open('out.txt', 'a+') as outfile:
for fname in file_list:
with open(fname) as infile:
outfile.write(infile.read())
您可以使用从文件加载json,这样您将有一个字符串列表插入。
您只需使用+
运算符连接列表并保存它:
import json
final_result = []
for file in ["1.txt", "2.txt"]:
with open(file, 'r') as fd:
final_result += json.load(fd)
with open("3.txt", 'w') as fd:
json.dump(final_result, fd)
您可以尝试以下方法:
['Hi', 'I', 'am', 'a', 'boy']
inputText = []
for file in ['1.txt','2.txt']:
with open(file,'r') as file:
inputText.extend(file.readlines()+['\n'])
with open ('3.txt','w') as output:
for line in inputText:
output.write(line)
或
编辑您的评论:
import re
inputList = []
for file in ['1.txt','2.txt']:
with open(file,'r') as infile:
for line in infile:
inputList.extend(re.sub('[^A-Za-z0-9,]+', '', line).split(","))
print(inputList)
with open('3.txt','w') as outfile:
for line in inputList:
outfile.write(line + '\n')
您已经尝试了什么?可能的副本可以使用list1.extend(list2)
。这是详细的解释谢谢你,埃尔登!。我试过你的建议。如何指定CWD路径!默认情况下,Python使用当前的工作目录。如果要使用特定路径,可以在变量前面添加路径:,并将open(path+file,'r')作为fd:
。如果您想使用脚本所在的文件夹,可以使用path=os.path.dirname(os.path.realpath(_文件__))
谢谢!如何在单个列表中指定输出,如['Hi','I','am','a','boy']
。从您的建议中产生的输出结果将在单独的列表中显示,如['Hi','I','am',]和['a','boy']谢谢@Van。您编辑的答案将在一个列表中生成输出,如:[“['Hi','I','am'],“['a','boy']”]
。我需要输出显示在单个列表中,而不是列表列表中。所需的输出应该是以下格式:['Hi'、'I'、'am'、'a'、'boy']
。在Python2和Python3上对其进行了测试。希望它现在能满足你的需要第三个codeshippet中的inputList'应该是您想要的列表。抱歉。根据您的建议,我将使用codeshippet-3
作为[“['Hi'、'I'、'am']”、“['a'、'boy']”获得输出。但是,我希望输出为:['Hi','I','am','a','boy']
。中间不应该有任何中间列表。所有的字符串都应该放在一个列表中。糟糕,我以为你读的是多行文本,上面的文本是你用python写的列表。我会编辑我的代码。我使用了一些字符串编辑,使其成为您想要的python列表,但通常更容易在txt文件中以纯文本形式保存,当您读入它时,它将变成python列表。