有時候需要將數十個甚至上百個txt或其他格式的檔案內容合併到一起,如果乙個個複製貼上顯然太費功夫,因此可以用**實現檔案內容的合併。
import os
import linecache
def combine_file():
# 讀取指定路徑下的所有檔案並放入到列表中
root = input('please input the dir:')
file_names = os.listdir(root)
print(file_names)
file_ob_list =
for file_name in file_names:
fileob = root + '/' + file_name
print(file_ob_list)
# 對每個檔案,按行讀取檔案內容並放入同乙個列表data中
data =
for file_ob in file_ob_list:
line_num = 1
length_file = len(open(file_ob, encoding='utf-8').readlines())
print(length_file)
while line_num <= length_file:
line = linecache.getline(file_ob, line_num)
line = line.strip()
line_num = line_num + 1
# 將data內容寫入到生成的txt檔案中,注意編碼問題
f = open('./combine_data.txt', 'w+', encoding='utf-8')
for i, p in enumerate(data):
print(i, p)
f.write(p+'\n')
f.close()
combine_file()
其實主要是三步:指定路徑、讀取到列表、寫入檔案,這中間用到了python的os和linecache模組,前者可以顯示指定目錄下的檔名,後者可以讀取指定行的檔案內容。 python中實現將多個print輸出合成乙個陣列
比如有下面qkiuiz一段 for i in range 10 print s f list i name 該 段的執行,會生成如下的10行 name 屬性的字串 f1f2f3 f4f5 f6f7 f8f9 f10如果我們將上述 段修改如下 for i in range 程式設計客棧10 print...
python刪除多個檔案內的指定內容
import os datapath r f mine data 待處理的檔案存放目錄 files os.listdir datapath for file in files with open r f mine data file as f 依次開啟檔案 file object open os.p...
用python實現將檔案拷貝到指定目錄
import os import shutil alllist os.listdir u d notes python 資料 for i in alllist aa,bb i.split if python in aa.lower oldname u d notes python 資料 aa bb ...