【问题标题】:Is there a way to run a python file from its directory有没有办法从其目录运行 python 文件
【发布时间】:2021-12-24 08:47:06
【问题描述】:

有没有一种pythonic方法可以从其目录运行另一个python文件

假设我有两个文件

main/one/test.py

main/two/other.py

为了在 other.py 的目录中运行 other.py,我必须在 test.py 中放入什么代码

【问题讨论】:

    标签: python directory


    【解决方案1】:
    import os
    
    os.system('python3 ./other.py')
    

    【讨论】:

    • 文件路径错误。你需要'../two/other.py'
    【解决方案2】:
    import sys
    sys.path.append('../')
    from two import other
    

    这仅适用于从当前目录运行,即使用python test.py 而不是python main/one/test.py
    ../ 表示当前目录的父级,例如如果你在main/one../ 就是main。所以在这里,第 2 行将 main 附加到 PYTHONPATH,这意味着它现在将文件夹 main 添加到要从中导入模块的目录列表中。这意味着您可以从main 中的任何文件夹或文件导入/导入。
    然后,第 3 行导入 main/two/other.py,导致该文件中的任何代码都运行。

    【讨论】:

    • 欢迎来到 Stack Overflow,感谢您提供答案。您能否编辑您的答案以包括对您的代码的解释?这将有助于未来的读者更好地了解正在发生的事情,尤其是那些刚接触该语言并难以理解概念的社区成员。
    猜你喜欢
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多