【问题标题】:how to import a module from a different directory in python? [duplicate]如何从python中的不同目录导入模块? [复制]
【发布时间】:2012-11-09 10:18:21
【问题描述】:

可能重复:
Importing Python modules from different working directory

我想导入以下目录中的文件:

 E:\edX\cs6.00x\week6\ProblemSet6

我在尝试:

import 'E:\edX\cs6.00x\week6\ProblemSet6\ps6'

其中 ps6.py 是我想在 IDLE 中导入的文件,但它抱怨最后一个 ' 中的 sintax 错误,我该如何解决?

【问题讨论】:

    标签: python import directory


    【解决方案1】:

    你可以

    import sys
    sys.path.append("E:\edX\cs6.00x\week6\ProblemSet6")
    

    然后简单

    import ps6
    

    【讨论】:

      【解决方案2】:
      import sys
      sys.path.append("E:\edX\cs6.00x\week6\ProblemSet6\ps6")
      
      import file_in_ps6.py
      

      【讨论】:

      • hmm...ps6是我要打开的文件,不是文件夹
      【解决方案3】:
      import imp
      foo = imp.load_source('ps6', 'E:\edX\cs6.00x\week6\ProblemSet6\ps6.py')
      foo.BlaBla()
      

      【讨论】:

        【解决方案4】:

        一种可能的解决方案是将第 m 个后缀文件放在 sys.prefix 目录中。

        >>> import sys
        >>> sys.prefix
        'F:\\F-ProgramFiles\\Python-3.2.3'
        >>>
        

        所以在我的例子中,目录是'F:\F-ProgramFiles\Python-3.2.3'。我可以创建一个名为例如的文件 'mymodules.mth' 在此目录中(后缀为 .mth),其中至少包含两行,语法如下:

        <module1 name without module filename suffix>
        <absolute file path to your module1 file>
        <module2 name without module filename suffix>
        <absolute file path to your module2 file>
        <module3 name without module filename suffix>
        <absolute file path to your module3 file>
                .
                .
                .
        

        之后,如果你重新启动一个新的 python 会话,通常你应该可以看到你的模块和 能够导入您想要的模块。

        问候,

        Dariyoosh

        【讨论】:

          猜你喜欢
          • 2013-07-26
          • 2019-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-09
          • 2022-08-16
          相关资源
          最近更新 更多