我在将多个文件连接成一个文件时遇到问题。当我尝试做这个文件时,它起作用了。但是,对于两个文件,它不会创建合并两个文件的新文件。我尝试了 glob.glob
和 os.path.join
中的所有内容,但是我不断收到语法或列表属性没有对象替换的相同错误。
import glob
import os
import os.path
read_files_2=['NYASv1.con', '20Rev1.con','Nv1.con',
'L1v1.con','fig_L1v1.con','R_L1v1.con']
read_files = glob.glob("I:\T\FE19\Cont\Traes\ctg\Sing\%s.con",% read_files_2)
with open("result.con", "wb") as outfile:
for f in read_files:
with open(f, "rb") as infile:
outfile.write(infile.read())
我收到 %s.con",% read_files_2
的语法错误
- 如果所有文件都位于同一文件夹中,只需使用
path.join
迭代它们即可:
import os
dr = "I:\T\FE19\Cont\Traes\ctg\Sing"
read_files = [os.path.join(dr, f) for f in read_files_2]
其余代码与您的相同
- 如果不是,请使用最顶层目录(包括所有目录)并使用
os.walk
:
import os
dr = "I:\T\FE19\Cont\Traes\ctg\Sing"
read_files = []
for root, _, files in os.walk(dr):
for file in files:
if file in read_files_2:
read_files.append(os.path.join(root, file))
如果您仍然想使用glob
,您可以使用iglob
,它是迭代器版本:
import glob
dr = "I:\T\FE19\Cont\Traes\ctg\Sing\**\*.con"
read_files = []
for file in glob.iglob(dr, recursive=True):
if file in read_files_2:
read_files.append(file)
我是一名优秀的程序员,十分优秀!