3 回答

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊
您可以使用glob僅列出您想要的文件shutil.copyfile并將它們復(fù)制到新文件名。使用從 glob 獲得的列表大小來打印整個過程中的進(jìn)度。
from glob import glob
import shutil
dat_files = list(glob("*.dat"))
dat_file_len = len(dat_files)
for i, dat_file in enumerate(dat_files, 1):
print(f"copying {i} of {dat_file_len}")
shutil.copyfile(dat_file, datfile[:-4] + ".log")

TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
您可以使用以下程序:
import glob
files_list = glob.glob('*.dat')
count_dat_file=len(files_list)
print("Count of .dat file is : {}\n".format(count_dat_file))
count_var = 1
for item in files_list:
print("Pocessing file {} of {}".format(count_var, count_dat_file))
print("Old File Name is : {}".format(item))
file_name_list = item.split('.')
file_name_list[-1] = 'log'
new_file_name = '.'.join(file_name_list)
print("New file Name is : {}".format(new_file_name))
with open(item,'r') as input_file:
with open(new_file_name,'w') as output_file:
output_file.write(input_file.read())
print("Data written to new file : {}".format(new_file_name))
count_var+=1
print("\n")

TA貢獻(xiàn)1853條經(jīng)驗 獲得超6個贊
首先,您必須獲取目錄中.dat包含的所有文件的列表,代碼如下所示:
import glob
import os
dat_files = glob.glob('*.dat')
for i, dat_file in enumerate(dat_files):
print("Writing %d file..." %(i+1))
inputFile = open (dat_file, 'r')
outputFile = open(dat_file[:-3]+"log", 'w') # removing "dat" from end, and inserting new extension "log"
outputFile.write(inputFile.read())
inputFile.close()
outputFile.close()
添加回答
舉報