gpt4 book ai didi

python - 创建 Python 子模块

转载 作者:行者123 更新时间:2023-12-05 07:18:18 24 4
gpt4 key购买 nike

我想创建一个名为 unifile 的工具来保存和打开文件像这样 unifile.open.yaml("file.yaml")

这是我的结构:

unifile
|
├-open
| └--__init__.py
|
└-save
└--__init__.py

调用我的模块的代码:

import unifile
a = unifile.open.yaml("file.yaml")

打开/初始化.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 总是出现 1 个错误:

module unifile has no atribute open

2 __init__.py 中的错误 我无法打开文件

[pylint] Context manager 'open' doesn't implement enter and exit. [not-context-manager]

最佳答案

在这里添加您的问题的解决方案,使您的项目结构如下。

在 unifile 本身而不是其他模块中添加 unifile/__init__.py 文件。

enter image description here

然后是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/__init__.py 文件的内容

from .open._open import Open 

在终端中像这样运行程序

enter image description here

另外,最好先创建一个对象元素,然后再继续。

关于python - 创建 Python 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58393436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com