当前位置 : 主页 > 编程语言 > python >

Python常用模块总览以及paramiko、os、sys、time详解

来源:互联网 收集:自由互联 发布时间:2022-06-15
常用模块预览 import paramiko SSH交互 import os 操作系统交互 import sys 解释器交互 import getpass 用于提示用户输出账户密码 import httpx 网页交互 import time 时间相关库 import re 正则匹配 import ran

常用模块预览

import paramiko SSH交互
import os 操作系统交互
import sys 解释器交互
import getpass 用于提示用户输出账户密码
import httpx 网页交互
import time 时间相关库
import re 正则匹配
import random 随机
import asyncio 异步
import threading 多线程
import subprocess 进程
import xlwt excel管理
import pymysql 数据库
import pandas 数据处理
import numpy 数值计算
import matpl 数据可视化

paramiko

import paramiko
#实例化ssh客户端
ssh = paramiko.SSHClient()
#创建默认的白名单
policy = paramiko.AutoAddPolicy()
#设置白名单
ssh.set_missing_host_key_policy(policy)
#链接服务器
ssh.connect(
hostname = "127.0.0.1", #服务器的ip
port = 22, #服务器的端口
username = "root", #服务器的用户名
password = "123" #用户名对应的密码
)
#远程执行命令
stdin,stdout,stderr = ssh.exec_command("ls")
#exec_command 返回的对象都是类文件对象
#stdin 标准输入 用于向远程服务器提交参数,通常用write方法提交
#stdout 标准输出 服务器执行命令成功,返回的结果 通常用read方法查看
#stderr 标准错误 服务器执行命令错误返回的错误值 通常也用read方法
#查看结果,注意在Python3 字符串分为了:字符串和字节两种格式,文件返回的是字节
result = stdout.read().decode()
print(result)


open()函数核心参数
‘r’:只读。该文件必须已存在
‘r+’:可读可写。同样该文件必须已存在
‘rb’:表示以二进制方式读取文件。同样同样该文件必须已存在
‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖
‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖
‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写
‘a’:追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读
‘a+’:追加读写。打开文件方式与写入方式和'a'一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置

getpass

import paramiko
import time
import getpass


username = raw_input('Username: ')
password = getpass.getpass('Password: ')

for i in range(11,16):
ip = "192.168.2." + str(i)
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)
print "Successfully connect to ", ip
command = ssh_client.invoke_shell()
command.send("configure terminal\n")
for n in range (10,21):
print "Creating VLAN " + str(n)
command.send("vlan " + str(n) + "\n")
command.send("name Python_VLAN " + str(n) + "\n")
time.sleep(0.5)

command.send("end\n")
command.send("wr mem\n")
time.sleep(2)
output = command.recv(65535)
print output

ssh_client.close

os

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口

os.remove(‘path/filename’) 删除文件
os.rename(oldname, newname) 重命名文件
os.walk() 生成目录树下的所有文件名
os.chdir('dirname') 改变目录
os.mkdir/makedirs('dirname')创建目录/多层目录
os.rmdir/removedirs('dirname') 删除目录/多层目录
os.listdir('dirname') 列出指定目录的文件
os.getcwd() 取得当前工作目录
os.chmod() 改变目录权限
os.path.basename(‘path/filename’) 去掉目录路径,返回文件名
os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径
os.path.join(path1[,path2[,...]]) 将分离的各部分组合成一个路径名
os.path.split('path') 返回( dirname(), basename())元组
os.path.splitext() 返回 (filename, extension) 元组
os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间
os.path.getsize() 返回文件大小
os.path.exists() 是否存在
os.path.isabs() 是否为绝对路径
os.path.isdir() 是否为目录
os.path.isfile() 是否为文件

sys

sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境

sys.argv 命令行参数List,第一个元素是程序本身路径
sys.modules.keys() 返回所有已经导入的模块列表
sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) 退出程序,正常退出时exit(0)
sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.maxunicode 最大的Unicode值
sys.modules 返回系统导入的模块字段,key是模块名,value是模块
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdout 标准输出
sys.stdin 标准输入
sys.stderr 错误输出
sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix 返回平台独立的python文件安装的位置
sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
sys.copyright 记录python版权相关的东西
sys.api_version 解释器的C的API版本
sys.stdin,sys.stdout,sys.stderr

time

time.time() 浮点时间1651047501.830475
time.ctime() 人类可读时间Wed Apr 27 16:18:21 2022
time.gmtime() 计算机可读时间time.struct_time(tm_year=2022, tm_mon=4, tm_mday=27, tm_hour=8, tm_min=18, tm_sec=21, tm_wday=2, tm_yday=117, tm_isdst=0)
time.sleep(5) 进程等待时间

格式化时间
%Y:年份,0000~9999
%m:月份(数字),01~12
%B:月份(英文全称),January~December
%b:月份(英文缩写),Jan~Dec
%d:日期,01~31
%A:星期(英文全称),Monday~Sunday
%a:星期(英文缩写),Mon~Sun
%H:小时(24小时制),00~23
%I:小时(12小时制),01~12
%p:上/下午,AM,PM
%M:分钟,00~59
%S:秒,00~59
t=time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S", t)
网友评论