python - 我可以在 __init__.py 文件中编写方法/函数吗?
问题描述
我可以在__init__.py
文件中编写方法/函数吗?如下所示
例子:
在__init__.py
文件中
import subprocess
import config
def ssh_exe(cmd):
try:
ssh_cmd = "ssh root@{0} {1}".format(config.ip, cmd)
out = subprocess.check_output(ssh_cmd)
return out
except Exception as e:
return str(e)
解决方案
当然,它们是普通文件。唯一的区别是他们定义文件夹是一个包。
来自python官方基础教程:
需要这些
__init__.py
文件才能使 Python 将目录视为包含包;这样做是为了防止具有通用名称(例如字符串)的目录无意中隐藏了稍后出现在模块搜索路径上的有效模块。在最简单的情况下,__init__.py
可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__
变量,稍后介绍。
请注意,您通常不会将代码放入__init__.py
其中,而是将其定义在包的模块中,并仅导入要在包命名空间中公开的名称。
下面是一个如何访问的例子,假设你有这个目录结构:
Development/
main.py
setup.py
myprogram/
__init__.py
other.py
该myprogram
文件夹被视为一个包,因为您可以__init__.py
这样main.py
做:
import myprogram
myprogram.something() # defined in `__init__.py`
import myprogram.other # the submodule other.py inside the package
推荐阅读
- c++ - 在 Visual Studio 中调试 Qt,缺少 msvcp140d_app.dll
- spring-boot - 在 SpringBoot 中重试连接到 RabbitMQ 和 MongoDB
- python - 我想从用户那里获取输入,直到给出一个字符串。如果插入了 int 或 float ,它将继续插入该值
- mysql - 用户单击表格行时显示详细信息
- python - Selenium - 使用当前 Chrome 实例的会话
- java - Tomcat Jersey 在“OPTIONS”飞行前请求中阻止服务器
- python - 如何在pycharm中使用张量流?
- html - 自动化 HTML img 标记和类分配
- powershell - 从脱机注册表文件中读取值
- ios - 加载 youtube 视频后获取视频时长