IOError:[Errno 13]在python中被拒绝的权限

IOError:[Errno 13]在python中被拒绝的权限,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我在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):

我在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/'
>>> 

颁发
许可证被拒绝

  with open(os.path.join('type filename here' , os.path.basename(line)), 'w')


代码的逻辑错误:

  • 路径中fname的
    应为文件中fname的
  • for line in fname
    不会逐行读取文件
    fname
    ,因为
    fname
    是字符串,而不是文件对象
权限错误是因为您的代码试图打开一个
目录
进行追加

尝试:


正是它说的。您没有写入这些文件的权限尝试从管理命令行或在*nix上以
sudo
的方式运行它有其他方法可以将两个多目录合并到另一个目录中?您是否在另一个程序中打开了其中一个文件,或正被另一个程序使用?@Vish permisson拒绝?错误相同:
f=open(os.path.join(r'C:/Users/Test_folder/Test_output/',os.path.basename(fname)),'a')IOError:[Errno 13]权限被拒绝:“C:/Users/Test_folder/Test_output/”>
您使用windows吗?正在尝试从用户特权帐户访问管理员文件吗?
for filename in os.listdir(src):
   path = os.path.join(src, filename)
   with open(path, "r") as inputFile:
   content = inputFile.read()
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 files:
        with open(os.path.join(path, fname)) as fin, open(os.path.join('C:/Users/Test_folder/Test_output/', fname), 'a') as fout:
            fout.write(fin.read())