如何在Python脚本中设置pywikibot的apicache-py3与throttle.ctrl路径?
Pywikibot 自定义缓存与节流文件路径配置
要将pywikibot生成的apicache-py3缓存目录和throttle.ctrl文件转移到指定位置(如../data),可以通过以下两种方式在Python脚本中直接配置:
方法一:修改pywikibot配置项
导入pywikibot后,直接修改对应的全局配置参数,指定目标路径:
import pywikibot import os # 定义目标根目录,转为绝对路径避免路径问题 target_root = os.path.abspath("../data") # 确保目标目录存在,不存在则创建 os.makedirs(target_root, exist_ok=True) # 配置缓存目录路径 pywikibot.config.apicache_dir = os.path.join(target_root, "apicache-py3") # 配置节流控制文件路径 pywikibot.config.throttle_control_file = os.path.join(target_root, "throttle.ctrl") # 后续正常初始化站点及编写业务逻辑 site = pywikibot.Site() # ... 你的脚本代码
方法二:通过环境变量配置
在导入pywikibot之前设置对应的环境变量,pywikibot初始化时会自动读取这些配置:
import os # 设置缓存目录环境变量 os.environ['PYWIKIBOT_APICACHE_DIR'] = os.path.abspath("../data/apicache-py3") # 设置节流文件环境变量 os.environ['PYWIKIBOT_THROTTLE_FILE'] = os.path.abspath("../data/throttle.ctrl") # 必须在设置环境变量后再导入pywikibot import pywikibot site = pywikibot.Site() # ... 你的脚本代码
注意事项
- 推荐使用
os.path.abspath()将相对路径转换为绝对路径,避免因脚本运行时的当前工作目录变化导致路径失效 - 提前创建目标根目录(如
../data),部分pywikibot版本可能无法自动创建上级目录,手动创建更稳妥
内容的提问来源于stack exchange,提问作者Fanta
相关产品推荐
相关产品推荐

