自定义模块
首先新建一个.py文件,写一个函数
a = "你好"
print(a)
def hello(b):
print("hello,", b)
再新建一个文件,从外部引入它(注意两个文件要健在同级的目录下)
import module1
module1.hello("Sam")
那么有人要问了,这样不是很麻烦吗?所以我们要将自定义的模块全局化,让它能在任何地方都可以被引用
在这之前,我们必须要知道一个叫python的查找路径这个东西
import sys
print(sys.path)
我们可以看到打印出的各种路径是以列表的形式输出的,这个我们先不管!!!
[‘E:\PycharmProjects\pythonProject3\模块’,
‘E:\PycharmProjects\pythonProject3’,
‘E:\Python\Python38\python38.zip’,
‘E:\Python\Python38\DLLs’,
‘E:\Python\Python38\lib’,
‘E:\Python\Python38’,
‘E:\PycharmProjects\pythonProject1\venv’,
‘E:\Python\Python38\lib\site-packages’]
[‘E:\PycharmProjects\pythonProject3\模块’
就是我们文件运行的当前目录
‘E:\Python\Python38\lib’,这个就是标准库(内置模块)
‘E:\Python\Python38\lib\site-packages’],这个就是第三方模块
我们一般运行都是在命令行上去执行的,现在我们来看
我们不难发现我们文件要运行的目录找不到了
这个时候我们再去导入的话就不行了
报错提示找不到这个模块
原则上python会将这些目录逐个找一遍都没有才会报错,我们可以这样,利用第三方模块的机制,将你自定义的模块剪切到里面就可以全局引入了!!!
第三方模块安装使用
1.登录https://pypi.python.org/pypi,搜索你想要是的模块下载,解压
然后编译安装源码(现在已经不使用了)
Python xxx.py build
Python xxx.py install
2.直接通过pip安装
pip install module
pip会自动安装到E:\Python\Python38\lib\site-packages’这个目录下
一般python会去官网下载但是服务器可能是在国外所以下载速度一般很慢,所以我们可以使用在国内的镜像地址来进行同样的操作
国内的镜像地址有
https://pypi.tuna.tsinghua.edu.cn/simple/
http://mirrors.aliyun.com/pypi/simple/
http://pypi.douban.com/simple
直接在命令行输入 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ paramiko --trusted-host https://pypi.tuna.tsinghua.edu.cn/simple
装好了以后我们看到它已经在第三方模块目录下了
这里举例演示一下远程登录服务器访问信息
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("ip","端口(默认是22)",'用户名','密码')
stdin,stdout,stderr(ssh.exec_command("df"))
print(stdout.read())
ssh.close()