创建Python子模块
我想创建一个名为创建Python子模块,python,module,Python,Module,我想创建一个名为unifile的工具,用于保存和打开文件 像这样unifile.open.yaml(“file.yaml”) 这是我的结构 unifile | ├-open | └--__init__.py | └-save └--__init__.py 调用我的模块的代码: 导入统一文件 a=unifile.open.yaml(“file.yaml”) open/\uuuu init\uuuuu.py import yaml class open(): def y
unifile
的工具,用于保存和打开文件
像这样unifile.open.yaml(“file.yaml”)
这是我的结构
unifile
|
├-open
| └--__init__.py
|
└-save
└--__init__.py
调用我的模块的代码:
导入统一文件
a=unifile.open.yaml(“file.yaml”)
open/\uuuu init\uuuuu.py
import yaml
class open():
def yml(self, file_path):
try:
with open(file_path, "r", encoding="utf-8") as yaml_conf:
yaml_file = yaml.safe_load(yaml_conf)
return yaml_file
except OSError:
print("Can't load yaml")
如果我导入unifile
总是说:
模块unifile未打开心房肌
2\uuuu init\uuuuu.py中出现错误
我无法打开文件
[pylint]上下文管理器“打开”未实现进入和退出。[不是上下文管理器]
两个问题,两个问题 首先,您应该在unifile中添加一个init文件,用这个python可以理解unifile是一个带有子包的包 其次,open是一个内置函数,您可以通过调用类open来覆盖它。更改您的类名,它应该可以工作
在这里为您的问题添加解决方案,使您的项目结构如下 将
unifile/\uuuuu init\uuuuu.py
文件添加到unifile本身而不是其他模块中
然后unifile/open/_open.py
文件内容
import yaml
class Open():
def __init__(self):
pass
def yml(self, file_path):
try:
with open(file_path, "r", encoding="utf-8") as yaml_conf:
yaml_file = yaml.safe_load(yaml_conf)
return yaml_file
except OSError:
print("Can't load yaml")
unifile/\uuuu init\uuuu.py
文件的内容
from .open._open import Open
在终端中,像这样运行程序
另外,最好先创建一个对象元素,然后再继续