{从文件导入}从其他目录导入时出错

时间:2013-12-01 00:31:59

标签: python windows python-2.7 import

我想从%appdata%/.EliteCS/sysfiles/gui.py导入一个文件,但无论何时,我都会这样做。

Traceback (most recent call last):
  File "C:\Users\Samuel\Documents\Elite\elite_computer_system.py", line 10, in <
module>
    import gui
ImportError: No module named gui

C:\Users\Samuel\Documents\Elite>pause
Press any key to continue . . .

我的%appdata%/.EliteCS/sysfiles/文件夹包含2个文件:__init__.py(空py文件)和gui.py,一个充满定义的py文件,但没有实际代码。当要求python导入它时:

sys.path.insert(0, '%appdata%/.EliteCS/sysfiles')
import gui

它给出了错误,同样适用于from gui import *而不是import gui行。 有人请告诉我我做错了什么。我无法弄清楚出了什么问题。

2 个答案:

答案 0 :(得分:1)

Python不会为您扩展%appdata%变量。

使用应用程序数据文件夹的绝对路径,或从系统中检索%appdata%变量并将其与.EliteCS/sysfiles连接。

有关检索appdata等系统路径的方法,请参阅How do I find the Windows common application data folder using Python?

如果您使用环境选项,那就是:

import os
import sys

sys.insert(0, os.path.join(os.environ['APPDATA'], '.EliteCS', 'sysfiles'))

答案 1 :(得分:0)

为什么不将gui.py放在与您运行的文件相同的文件夹中? 然后你可以说import gui,它肯定会运行。