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

2024-09-30 14:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,当我尝试使用shutil.copyshutil.copyfile复制到iTunes文件夹(C:\Users{}\Music\iTunes\iTunes Media\ Automatically Add to iTunes),其中{}是用户名时,我得到了“PermissionError:[Errno 13]Permission denied”

这是我的代码,我只需要获得文件夹的权限,我刚刚丢失了,一些人建议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)

Tags: toimportadd权限musicargsmediausers
1条回答
网友
1楼 · 发布于 2024-09-30 14:27:56

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

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

相关问题 更多 >