我有一个包含20个文件名的列表,例如['file1.txt','file2.txt',...]
。我想编写一个Python脚本将这些文件连接成一个新文件。 我可以通过f = open(...)
打开每个文件,通过调用f.readline()
逐行读取,并将每行写入新文件中。但对我来说,这似乎不太“优雅”,特别是我必须逐行读写的那部分。
在Python中有更加“优雅”的方式吗?
我有一个包含20个文件名的列表,例如['file1.txt','file2.txt',...]
。我想编写一个Python脚本将这些文件连接成一个新文件。 我可以通过f = open(...)
打开每个文件,通过调用f.readline()
逐行读取,并将每行写入新文件中。但对我来说,这似乎不太“优雅”,特别是我必须逐行读写的那部分。
在Python中有更加“优雅”的方式吗?
def concatFiles():
path = 'input/'
files = os.listdir(path)
for idx, infile in enumerate(files):
print ("File #" + str(idx) + " " + infile)
concat = ''.join([open(path + f).read() for f in files])
with open("output_concatFile.txt", "w") as fo:
fo.write(path + concat)
if __name__ == "__main__":
concatFiles()
import os
files=os.listdir()
print(files)
print('#',tuple(files))
name=input('Enter the inclusive file name: ')
exten=input('Enter the type(extension): ')
filename=name+'.'+exten
output_file=open(filename,'w+')
for i in files:
print(i)
j=files.index(i)
f_j=open(i,'r')
print(f_j.read())
for x in f_j:
outfile.write(x)
cat file1.txt file2.txt file3.txt ... > output.txt
。在Python中,如果你不喜欢readline()
,总有readlines()
或者简单的read()
可供选择。 - jedwardssubprocess
模块运行cat file1.txt file2.txt file3.txt
命令,就完成了。但我不确定cat
在 Windows 上是否可用。 - Ashwini Chaudhary