Python:sys.path.append与导入?

时间:2013-04-25 15:03:04

标签: python ironpython python-import

我有一个(单个).py脚本。在其中,我需要导入一个库。

为了找到这个库,我需要调用sys.path.append。但是,我不想硬编码库的路径,而是将其作为参数传递。

所以我的问题是,如果我在这个文件中创建一个函数(set_path),我需要导入文件,导入失败,因为路径尚未附加。

有什么好方法可以解决这个问题?

评论后澄清:

  • 我正在使用IronPython,库路径是CPython / lib的路径。这个路径(可能)在每个系统上都是不同的。
  • 据我所知,我无法通过sys.argv传递任何内容,因为脚本是在嵌入式python解释器中运行的,并且没有主要功能。

2 个答案:

答案 0 :(得分:3)

您不应该全局导入,而是在追加路径后调用的函数内部。

答案 1 :(得分:1)

也许使用sys.argv将文件作为参数传递,将其添加到路径然后导入它。 然后像这样运行你的程序:

python my_program.py somefolder/some_import.py

以下是使用sys.argv:http://www.pythonforbeginners.com/systems-programming/python-sys-argv/

的参考资料