gpt4 book ai didi

python - python - 为什么在python中调用其他脚本时子进程模块会给出奇怪的输出?

转载 作者:行者123 更新时间:2023-12-03 08:39:50 25 4
gpt4 key购买 nike

我有 2 个文件

  • a.py
  • b.py

  • 我正在使用 a.py 中的子进程模块来运行 b.py 的脚本,它没有给出任何错误,而是给出了奇怪的输出。
    a.py 中的代码
    import subprocess
    h=12
    res=subprocess.check_output(["python","b.py",'h'])
    print(res)
    b.py 中的代码
    def test(h):
    h=h*12
    print(h)
    return h
    我得到的输出是:
    b''

    最佳答案

    您的 b.py脚本需要从 sys.argv 读取以某种方式对您传入的参数做某事 subprocess.check_output([...]) .此外,函数 test在您的 b.py脚本没有在任何地方被调用,所以你必须在某个地方调用它。
    此外,在 subprocess.check_output调用,参数列表中的第三项是 "h" ,这是一个包含单个字符的字符串文字。如果你想传递你的变量 h ,你应该做["python", "b.py", str(h)] .请注意,这仍将被解释为字符串 "12"当您的 b.py脚本从 sys.argv 读取它,所以如果你想用它做整数数学,比如 h = h * 12 ,您将不得不再次将其转换为整数。

    关于python - python - 为什么在python中调用其他脚本时子进程模块会给出奇怪的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62684153/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com