实例1:使用pytho脚本实现查询根目录下的文件
方法一:使用shell内置函数
[root@filebeat py]# cat dir.py
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import os
os.system("ls /")
输出结果:
[root@filebeat py]# python3 dir.py app boot dev etc home lib64 mnt proc root sbin sys usr vrgv bin data dwz harbor-offline-installer-v1.2.0.tgz lib media opt python run srv tmp var
方法二:使用python内置函数
[root@filebeat py]# cat dir1.py #!/usr/bin/python3 # -*- coding: UTF-8 -*- import os dir1 = os.listdir("/") print (dir1)
输出结果: [root@filebeat py]# python3 dir1.py ['boot', 'dev', 'home', 'proc', 'run', 'sys', 'etc', 'root', 'var', 'tmp', 'usr', 'bin', 'sbin', 'lib', 'lib64', 'media', 'mnt', 'opt', 'srv', 'dwz', 'harbor-offline-installer-v1.2.0.tgz', 'data', 'app', 'vrgv', 'python']
以上两种方法都可以看到根目录文件
实例2:ssh远程linux主机执行命令
[root@filebeat py]# cat ssh1.py
#!/usr/bin/python3 # -*- coding: UTF-8 -*-
import paramiko
# 实例化SSHClient client = paramiko.SSHClient() # 自动添加策略,保存服务器的主机名和密钥信息,如果不添加,那么不再本地know_hosts文件中记录的主机将无法连接 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接SSH服务端,以用户名和密码进行认证 client.connect(hostname='192.168.1.227', port=22, username='root', password='vrgv25') # 打开一个Channel并执行命令 stdin, stdout, stderr = client.exec_command('df -h') # stdout 为正确输出,stderr为错误输出,同时是有1个变量有值 # 打印执行结果 print(stdout.read().decode('utf-8')) # 关闭SSHClient client.close()
[root@filebeat py]# python3 ssh.py Traceback (most recent call last): File "ssh.py", line 1, in <module> import paramiko ModuleNotFoundError: No module named 'paramiko'
解决方案:
[root@filebeat py]# pip3 install paramiko