python中文本文件(.txt文件)与列表的连接?

python中文本文件(.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和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') 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列表。