Python多个文本文件列出

时间:2018-09-27 21:12:58

标签: python python-3.x

我从目录中的许多txt文件开始。我想读取earch文件并将所有文本保存为列表的单个元素。然后,我想将每个元素合并为一个列表。
因此,例如,从3个文本文件开始,我想创建一个包含3个元素的列表文件,每个元素都是我开始使用的3个文件中每个文本的内容。

  • 文本1 =文本文本文本文本
  • 文本2 =更多,更多,更多
  • text 3 =和and and

AllinList = [文本文本文本,更多更多,以及and and]

我的方法是 *读取每个文本文件,并使用文本文件中的基本名称将其另存为具有新名称的列表文件。 *完成后,我会将列表文件合并为一个文件。

以下是我为执行步骤1而生成的代码。结果是一个文件,其中所有字母都放在一个列中(不是我想要的!)。

我们将非常感谢您的帮助和指导。 !!!

for dirPath, subdirNames, fileList in os.walk(cwd):
for filename in fileList:       
    with open (filename,'r') as fin:
        Filein=[]
        Filein=fin.read()
        #create basename by deleting the file name suffix
        basename=os.path.splitext(filename)[0]
        print (' Basename is     %s' % basename)
        #save the file
        with open (basename+' result', 'a' ) as filetowrite:
            for line in Filein:
                filetowrite.write(line + "\n\n")

1 个答案:

答案 0 :(得分:0)

添加文本中不存在的特殊字符。例如“ ===“

special_char='==='
for dirPath, subdirNames, fileList in os.walk(cwd):
for filename in fileList:       
    input_file=[]
    with open(filename,'r') as fin:
        input_file=fin.read()
        #create basename by deleting the file name suffix
        basename=os.path.splitext(filename)[0]
        print (' Basename is     %s' % basename)
        #save the file
        with open(basename+' result', 'a' ) as filetowrite:
            for line in input_file:
                filetowrite.write(line + "\n\n")
            filetowrite.write(special_char)

然后,当您需要阅读文件并获取文本列表时

list_texts = []    
with open(basename+' result', 'r') as texts_file:
    list_texts = texts_file.read()
if list_texts:
    list_texts=list_texts.split(special_char)[:-1]

我希望能对您有所帮助