创建Python子模块

沉重的黑色1

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

这是我的结构

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

调用我的模块的代码:

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

打开/__init__.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错误

模块unifile没有属性打开

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

[pylint]上下文管理器“ open”未实现enterexit[非上下文管理员]

sahasrara62

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

unifile/__init__.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/__init__.py文件内容

from .open._open import Open 

在终端中运行这样的程序

在此处输入图片说明

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章