密钥一旦明文写进 .py,它就和你的代码绑死了——改一下要翻代码,发出去就跟着泄露。把它独立出来,一切都简单了。
复制 → 粘贴 → 改个文件名。整个过程不用理解原理,照着做就能跑。
在脚本同目录建一个 txt 文件,一行写一个 key。空行和 # 注释会自动忽略。
把读取函数粘到脚本上方,唯一要改的就是文件名 my_token.txt。
读取后 API_KEYS 就是一个 key 列表,直接拿来用:打印、轮换、塞进请求头都行。
下面是可移植的核心代码。带行号、带高亮,右侧是运行后你会看到的结果。点右上角一键复制。
from pathlib import Path # ====== 从外部文件读取 API Key(复制这一段就能用)====== # Token 文件路径:和你这个脚本在同一个文件夹里 # 只要把 "my_token.txt" 换成你自己的文件名就行 TOKEN_FILE = Path(__file__).resolve().parent / "my_token.txt" def load_api_keys(token_path): """从文件读取 API Key,一行一个 key。 - 自动跳过空行 - 自动跳过 # 开头的注释行 - 自动去掉每行首尾的空格 - 文件不存在 / 没有有效 key 时会报错 """ if not token_path.is_file(): raise FileNotFoundError(f"没找到 key 文件:{token_path}") keys = [] with open(token_path, "r", encoding="utf-8-sig") as f: for line in f: line = line.strip() if not line or line.startswith("#"): continue keys.append(line) if not keys: raise ValueError(f"key 文件里没有读到任何有效 key:{token_path}") return keys # 读出来的 key 列表,后面就可以直接用了 API_KEYS = load_api_keys(TOKEN_FILE)
不用懂 Python 也能看懂。左边是代码,右边是大白话翻译。
一个 key 挂了(限流、过期)就换下一个,循环复用。下面这个动画演示了「取余数循环」的效果——高亮的就是当前正在用的 key。
核心就一行:index % len(API_KEYS)。 不管 index 涨到多大,取余后永远落在 0 ~ N-1 之间,自然形成循环。
不想和脚本放一起?只需要改 TOKEN_FILE 那一行。
多一个 .parent,就往上一层。换电脑也能用。
写死位置,最直观。缺点是换电脑 / 换系统要改。
新手最容易踩的 5 个坑,对着报错找答案。
以后任何 Python 脚本想用这个功能,照着做就行——不用再回来翻文档。