You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python脚本从GitHub的.py文件中导入列表

从GitHub导入列表的解决办法
  • 先处理字节字符串
    你拿到的b"names = ['1', '2', '3', '4', '5']\r\n"是字节类型,得先转成普通字符串:

    byte_data = b"names = ['1', '2', '3', '4', '5']\r\n"
    text_data = byte_data.decode('utf-8')
    
  • 安全提取列表的两种方法
    方法一:用ast.literal_eval(推荐,不会执行恶意代码)
    先把字符串里的列表部分拆出来,再解析成真实的列表:

    import ast
    
    # 拆分出等号后面的列表内容,去掉多余的换行和空格
    list_text = text_data.split('=', 1)[1].strip()
    # 解析成Python列表
    names = ast.literal_eval(list_text)
    print(names)  # 输出:['1', '2', '3', '4', '5']
    

    方法二:用exec执行字符串(只在你完全信任这个GitHub文件时用)
    直接执行这段字符串代码,就能直接用names变量:

    exec(text_data)
    print(names)  # 输出:['1', '2', '3', '4', '5']
    
  • 更规范的远程模块导入方式
    如果想像导入本地模块一样用GitHub上的文件,先确保你拿到的是GitHub文件的原始内容链接(不是网页链接),然后用下面的代码加载:

    import importlib.util
    import urllib.request
    
    # 替换成你自己的GitHub原始文件链接
    raw_url = "https://raw.githubusercontent.com/你的用户名/你的仓库名/分支名/目标文件名.py"
    
    with urllib.request.urlopen(raw_url) as res:
        code_content = res.read()
    
    # 创建并加载远程模块
    module_spec = importlib.util.spec_from_loader("remote_list", loader=None, origin=raw_url)
    remote_module = importlib.util.module_from_spec(module_spec)
    exec(code_content, remote_module.__dict__)
    
    # 直接调用模块里的列表
    print(remote_module.names)
    

内容的提问来源于stack exchange,提问作者luis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:12:08