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

如何让Python读取并执行文本文件内存储的自定义脚本语句

报错原因

os.system() 的作用是调用操作系统的Shell执行系统命令,你传入的z = x + y是Python语法的赋值语句,不是系统可识别的命令,Shell会尝试把z当做可执行文件查找,自然会抛出找不到命令的报错。

正确实现方案

使用Python内置的exec()函数执行动态Python代码即可,它可以直接解析运行传入的Python语句,并且可以直接使用当前上下文里已经定义的变量(比如你代码里的x、y)。

修正后的完整代码

import time
x = 3
y = 9
s = None
while 1:
    time.sleep(1)
    try:
        with open("steps.txt", 'r') as f:
            s = f.readline().strip() # 去掉可能的换行、空格
            break
    except:
        pass

exec(s)
# 可以打印验证结果
print(z) # 输出12

注意事项

  • 用with open语法打开文件时,结束后会自动关闭文件,不需要手动调用f.close(),原有代码里的手动关闭属于多余操作。
  • 动态执行外部文件传入的代码存在安全风险,如果steps.txt被恶意篡改写入非法代码,会直接被当前Python程序执行,操作敏感设备时请做好文件的合法性校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:54:02