我正在使用 bat 文件在启动时运行 python 脚本。手动通过 CMD 运行脚本不会出现任何问题。但是,使用 bat 文件执行它会产生权限错误,其中脚本应该截取屏幕截图并保存它。
我尝试使用不同的模块来拍照,认为这就是问题所在 - 但它没有帮助。我还授予了管理员权限,但这也没有帮助。
这是bat文件:
"C:\Users\name\python.exe" "C:\Users\name\run.py" pause
这些是 python 代码中有问题的行:
image = ImageGrab.grab()
image.save('C:\\full\\path\\to\\screen.png')
错误:
PermissionError: [Errno 13] Permission denied: 'C:\\Path\\to\\screen.png
期望代码通过批处理文件运行无错误,因为它是手动执行的。
谢谢。
最佳答案
我在任务计划程序中遇到了同样的问题。我尝试了/和\以及其他选项,但仍然有问题。对我有用的是 cd 进入 bat 文件内的目录。
以前,我的 .bat 文件很简单:
python "C:\path\to\some\directory\run.py"
我将 .bat 文件更新为:
cd "C:\path\to\some\directory"
python run.py
希望这可以帮助遇到此问题的其他人。
关于python - '权限错误: [Errno 13] Permission denied' after running a python script using a batch file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890224/