你的代码中出现的错误`NameError: name '__file__' is not defined`表示Python无法找到`__file__`这个变量。`__file__`是一个特殊的变量,它
  X5zJxoD00Cah 2023年12月12日 16 0

你的代码中出现的错误NameError: name '__file__' is not defined表示Python无法找到__file__这个变量。__file__是一个特殊的变量,它包含了当前脚本的路径。然而,如果你的代码是在交互式环境中运行的(例如Jupyter notebook或Python shell),那么__file__变量可能并不存在。

你可以使用以下的解决方案:

  1. 如果你的代码是在一个Python脚本文件中运行的,你可以直接使用__file__变量。
  2. 如果你的代码是在交互式环境中运行的,你可以使用os.getcwd()函数来获取当前工作目录。以下是一个示例:
import os
import subprocess

def cmd_run(ItemNum: str, py: str = None):
    if not py:
        py = "query_ProductItems.py"
    ItemNum = str(ItemNum).encode("utf-8")

    current_path = os.getcwd()
    script_path = os.path.join(current_path, py)
    result = subprocess.run(["python", script_path], input=ItemNum, capture_output=True)
    
    output_data = result.stdout.decode("gbk", errors="ignore")
    error_message = result.stderr.decode("gbk", errors="ignore")
    return output_data, error_message

if __name__ == "__main__":
    ItemNum = "SY2002072400061"
    result = cmd_run(ItemNum)
    print(result)

在这个例子中,os.getcwd()函数会返回当前工作目录。然后,这个目录被用来构造脚本的路径。

希望这个答案对你有所帮助!如果你还有其他问题,欢迎随时向我提问。.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月12日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   14   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   17   0   0 Python.net
X5zJxoD00Cah