Python没有正确地将文件作为模块导入
Posted
技术标签:
【中文标题】Python没有正确地将文件作为模块导入【英文标题】:Python not importing files as modules correctly 【发布时间】:2019-05-17 16:03:09 【问题描述】:我正在尝试让 Python 代码在使用 CGI 模块的 Web 浏览器上运行,以及我尝试导入到主程序中的一些其他文件模块。
我的初始程序(按要求运行)如下:
#!C:\Users\Student\AppData\Local\Programs\Python\Python37-32\python.exe
import cgi
def htmlTop():
print("Content-type: text/html")
print()
print("""<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My Server Side Test</title>
</head>
<body>""")
def htmlTail():
print("""</body>
</html>""")
if __name__ == "__main__":
try:
htmlTop()
print("Hello World")
htmlTail()
except:
cgi.print_exception()
在与该程序相同的文件夹中,我有一个名为“_serverTestModules”的 Python 文件,其中包含:
def _serverTestFunction():
print("The file has been imported successfully")
如果我再添加:
import _serverTestModules
到原始文件,两者都在同一个目录中,并尝试从原始代码访问该函数,我得到这个错误:
Traceback (most recent call last):
File "C:/xampp/htdocs/inventorysystem/_serverTest.py", line 26, in <module>
_serverTestFunction()
NameError: name '_serverTestFunction' is not defined
所以基本上我的测试程序可以工作,但是一旦我尝试从同一目录中的其他文件(我的主项目需要的东西)导入函数,代码就会失败。这是计算机系统或网络的问题吗?我在 Stack Overflow 上看到的所有其他答案要么没有答案,要么答案不正确,因此非常感谢任何帮助。
【问题讨论】:
【参考方案1】:你需要使用这个
from _serverTestModules import _serverTestFunction
【讨论】:
非常感谢,但是我的其他文件里面有很多功能,有没有办法一次将文件中的所有功能导入主程序?我试过使用 from _serverTestModules import * 但这不起作用。 你可以使用 from _serverTestModules import * 我尝试在主文件中这样做,但没有成功。还有其他建议吗?以上是关于Python没有正确地将文件作为模块导入的主要内容,如果未能解决你的问题,请参考以下文章