如何获得对文件夹的写访问权限?

时间:2021-01-16 20:51:40

标签: python windows permissions permission-denied

基本上我在尝试使用 shutil.copyshutil.copyfile 复制到 iTunes 文件夹 (C:\Users{}\Music\iTunes\ iTunes Media\Automatically Add to iTunes),其中 {} 是用户名

这是我的代码,而我只需要获得权限的文件夹,我只是输了,有些人建议chown或东西,但它显然它支持Windows,一些建议:

args = ["icacls", directory, "/grant:r", 'LOCAL SERVICE:(OI)(CI)MF']
subprocess.check_call(args)

但它仍然给我权限错误,我对 Python 还很陌生,我真的需要解决这个“权限问题”

这是我的完整代码(我尝试使用 iTunesPath 和 Path2)

import getpass
import shutil
import subprocess

user = getpass.getuser()
iTunesPath: str = r"C:\Users\{}\Music\iTunes\iTunes Media\Automatically Add to iTunes" .format(user)
path2 ="C:\\Users\\{}\\Music\\iTunes\\iTunes Media\\Automatically Add to iTunes" .format(user)
args = ["icacls", iTunesPath, "/grant:r", 'LOCAL SERVICE:(OI)(CI)MF']
subprocess.check_call(args)
shutil.copyfile("D:\Freelance\iTunes Project\My songs\Clean Bandit - Solo ft. Demi Lovato.mp3", path2)

1 个答案:

答案 0 :(得分:0)

写在c:\Users\%your user%目录应该没有问题。我猜你的问题是文件路径中的反斜杠。试试这个(注意 r"):

shutil.copyfile(r"D:\Freelance\iTunes Project\My songs\Clean Bandit - Solo ft. Demi Lovato.mp3", path2)