文件结构:
AppFolder/
|
|-- main.py
|
|-- Google
|
|-- client.py
|
|-- synchronization.py
在我的main.py
中,我试图导入synchronization.py
。在synchronization.py
中,我导入client.py
我得到错误ModuleNotFoundError: No module named 'client'
与我的文件配置如下:
main.py
import Google.synchronization as googleCalendar
def main():
googleCalendar.getEvents()
if __name__ == '__main__':
main()
synchronization.py
import client
def main():
"""Connects the application with a google API"""
global service
service = client.main()
def getEvents():
return service.events().list(calendarId = 'primary')
if __name__ == '__main__':
main()
其他人也有类似的问题,我尝试了多种东西,如from Google.synchronization import *
或from . import synchronization
,但没有任何改变。
唯一可以"解决"的事情问题是将main.py
和synchronization
的导入放入if __name__ == '__main__':
中,如下所示:
synchronization.py
if __name__ == '__main__':
import client
main()
但是现在,当我运行main.py时,我得到了错误:NameError: name 'service' is not defined
。我不知道如何修复这个新问题。
有没有其他方法导入我的文件,可以缓解这两个问题?或者另一种方法来创建我的变量service
?
Thanks in advance
Try
from .import client
def main():
"""Connects the application with a google API"""
service = client.main()
return service
def getEvents():
return main().events().list(calendarId = 'primary')
尝试这样导入:
from .client import main as client_main