目录中的输入文件与正在运行的脚本不在同一目录中

时间:2013-09-05 19:47:37

标签: python argv

我有一堆模块说:

modules/module1

,它不在我想输入文件的目录中。

目前我转到包含文件的目录,然后运行:

from module1 import calc
import os

cwd = os.getcwd()
calc(cwd)

我想尽可能简化这个,即从任何地方导入模块calc并运行calc(cwd),而不必每次都输入cwd。有没有办法告诉calc你不在模块目录中,而是在其他地方?如果我只是运行calc(),它认为文件在模块内/何时不在。

目标是只需cd进一个目录并在该目录中的文本文件上运行calc,该文件总是具有相同的名称(包含诊断信息的文件)。

我已将module1文件夹添加到python路径和 init .py,因此我可以从任何地方导入所有模块。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将这样的代码添加到module1

if __name__ == '__main__':
    import os
    calc(os.getcwd())

由于您可以从任何地方导入模块,如果您现在可以

python -m module1

然后__main__代码将在该目录中运行。