python - Python 导入 Linux 与 Windows
问题描述
我正在开发一个需要在 Windows和Linux 上运行的新小项目。为了解释我的问题,我将使用 3 个文件。
解析器/__init__.py
from .toto import Parser as TotoParser
解析器/toto.py
class Variable(object):
def __str__(self):
return "totoVariable"
class Parser(object):
@staticmethod
def parse(data):
return Variable()
主文件
#!/usr/bin/env python3
from parser import TotoParser
def main():
print(TotoParser.parse(""))
if __name__ == '__main__':
main()
在这个项目中。我将几个模块(文件)创建到不同的包(目录)中。问题是我需要更改导入模块的名称。为此,我在 __init__ 文件中使用别名。
我的项目在 Lunix 上完美运行,但是当我在 Windows 上尝试时,出现了这个问题!
ImportError:无法导入名称“TotoParser”
对不起我的英语,我正在学习它......
解决方案
请将 init.py 重命名为 __init__.py,我相信它是有效的,已经命名为 __init__.py 的案例忽略这个 anwser...
推荐阅读
- ruby-on-rails - 微服务通信中如何组织延迟结果处理?
- c++ - 用c ++在winsock中重新连接需要做什么
- java - Spring Logback - SizeAndTimeBasedRollingPolicy 未创建日志文件
- node.js - 与 Webpacker 的反应无法加载
- reactjs - onChange 反应事件调用带有参数但没有传递参数的函数?
- plsql - 事务范围之外的查询 - Oracle
- react-native - 如何在本机反应中使用 Slider 使光标跟随光标
- python - Python Selenium (Chrome Webdriver) - 根据值定义 URL
- php - Maria DB SQL Insert INTO ON DUPLICATE 仅适用于第一个更新的值
- jquery - 将 Bootstrap 与 React 一起使用:Bootstrap 下拉菜单未打开