我在7个不同的文件夹目录中有多个文件。所有这些文件都具有相同的名称,我希望将这些名称相同的文件合并为另一个目录中的一个文件
import os
from itertools import chain
paths = (r'C:/Users/Test_folder/Input/', r'C:/Users/Test_folder/Input_2/')
for path, dirs, files in chain.from_iterable(os.walk(path) for path in paths):
for fname in paths:
for line in fname:
f = open(os.path.join(r'C:/Users/Test_folder/Test_output/', os.path.basename(fname)), 'a')
f.write ('{:}\n'.format(line))
f.close()
错误:
f = open(os.path.join(r'C:/Users/Test_folder/Test_output/', os.path.basename(fname)), 'a')
IOError: [Errno 13] Permission denied: 'C:/Users/Test_folder/Test_output/'
>>>
3条答案
按热度按时间dly7yett1#
对于
permisson denied
的发布或者
r6l8ljro2#
您的代码逻辑错误:
for fname in paths
应为for fname in files
for line in fname
不会逐行读取文件fname
,因为fname
是字符串,而不是文件对象权限错误是由于您的代码尝试打开
directory
进行追加。试试看:
n9vozmp43#
如果你用的是windows,请以管理员身份重新运行ide。