python - '权限错误: [Errno 13] Permission denied' after running a python script using a batch file

标签 python batch-file runtime-error file-permissions autostart

我正在使用 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/

相关文章:

python - 如何使用嵌套字典替换其他列中的字符串

python - 从python本地目录导入

python - PostgreSQL 表上的更新查询不起作用

windows - Grep 不区分大小写不工作

python - BeautifulSoup HTML 获取 src 链接

batch-file - 如何仅对选定的文件执行 "dir > output.txt"

windows - 如何编写将一个目录复制到另一个目录并替换旧文件的批处理脚本?

在没有已知原因的情况下转到 "panic: sync: unlock of unlocked mutex"

c - 运行时错误 - C 编程