运行UGC狙击机器人main.py触发PermissionError [Errno 13]错误
PermissionError: [Errno 13] 权限拒绝 解决方案(UGC狙击机器人main.py)
问题根源
从错误日志能看到,脚本尝试在C:\Windows\system32\logs.txt写入日志,但系统目录默认没有普通用户写入权限。你脚本的实际路径是C:\Users\jackg\Downloads\ugc-sniper-main,之所以会跑到system32,是因为代码里用了相对路径logs.txt,程序会以当前工作目录(你的情况是system32)作为基准路径,和你检查脚本所在目录的权限无关,重装Python也解决不了路径指向问题。
解决方法
1. 修改代码为绝对路径(推荐)
找到main.py第33行的logging.basicConfig代码,把日志文件路径改成脚本所在目录的绝对路径:
# 硬编码路径写法 logging.basicConfig(filename='C:\\Users\\jackg\\Downloads\\ugc-sniper-main\\logs.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
或者用更灵活的动态路径(避免换位置后失效):
import os # 获取脚本自身所在目录的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__)) log_file_path = os.path.join(script_dir, 'logs.txt') logging.basicConfig(filename=log_file_path, level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
2. 切换工作目录后运行脚本
打开命令提示符,先进入脚本所在目录再运行:
cd C:\Users\jackg\Downloads\ugc-sniper-main python main.py
这样相对路径logs.txt就会指向脚本所在目录,不会再访问system32。
3. 以管理员身份运行(不推荐)
右键点击命令提示符/你的Python IDE,选择「以管理员身份运行」,再执行脚本。这种方法能绕过system32的权限限制,但不建议随意给程序系统目录写入权限,容易导致目录混乱。
内容的提问来源于stack exchange,提问作者Orientate
相关产品推荐
相关产品推荐

