我可以在__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)
答案 0 :(得分:1)
请确保它们是正常文件。唯一的区别是它们将文件夹定义为包。
来自python official basic tutorial:
需要
__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