簡體   English   中英

將所有txt文件的內容合並為一個- Python

[英]consolidated contents of all txt files into one- Python

我正在嘗試合並結果文件夾中的所有 result.txt 文件內容並從中生成“Result_STD.txt”文件。 但在寫入文件之前,我想添加一個 str(GenerateFile) 一次,但目前為每個文件 append 添加該字符串。 誰能建議我如何在文件中只添加一次該字符串?

def createOutput(self,STD):
    directory = "/result"
    read_files = glob.glob(directory + "/" + "*_result.txt")
    with open(directory + "/" + "Result_" + STD + ".txt", "wb") as outfile:
        for f in read_files:
            with open(f, "rb") as infile:
                data = infile.read()
                new_data = '{"GenerateFile":'+ data +  '}'
                print(new_data)
=================================================================
                
Current Output:

GenerateFile:{
    "Message": "CREATED", 
    "Result": "DONE"
}
GenerateFile:{
    "Message": "CREATED", 
    "Result": "DONE"
}

==============================================================
                
expected output:

GenerateFile:{
    "Message": "CREATED", 
    "Result": "DONE"
},
{
    "Message": "CREATED", 
    "Result": "DONE"
}

這能滿足您的需要嗎?

如果是這樣,我所做的就是將GenerateFile:new_data字符串初始分配移出for f in read_files:循環和 append 到循環內,然后在循環結束時打印 output 。

def createOutput(self,STD):
    directory = "/result"
    read_files = glob.glob(directory + "/" + "*_result.txt")
    with open(directory + "/" + "Result_" + STD + ".txt", "wb") as outfile:
        new_data = "GenerateFile:"
        for f in read_files:
            with open(f, "rb") as infile:
                data = infile.read()
                new_data = new_data + " {" + data + "}, "
        print(new_data)

如果有問題,您可能需要在print(new_data)之前刪除最后一個,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM