Python неправильно импортирует файлы как модули - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь заставить код Python работать в веб-браузере, используя модуль CGI, а также некоторые другие файловые модули, которые я пытаюсь импортировать в основную программу.

Моя первоначальная программа, котораяработает как требуется, это следующее:

#!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()

В той же папке, что и эта программа, у меня есть файл Python с именем "_serverTestModules", содержащий:

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

Так что в основноммоя тестовая программа работает, но как только я пытаюсь импортировать функции из других файлов, которые находятся в том же каталоге (что мне нужно для моего основного проекта), код завершается ошибкой.Это проблема с компьютерной системой или сетью?У каждого другого ответа, который я видел в Переполнении стека, либо не было ответа, либо неправильный ответ, поэтому любая помощь очень ценится.

1 Ответ

0 голосов
/ 17 декабря 2018

Вам нужно использовать это

from _serverTestModules import _serverTestFunction
...