python模块 os&sys&subprocess&hashlib模块
os模块
# os模块可根据带不带path分为两类
# 不带path
print(os.getcwd()) # 得到当前工作目录
print(os.name) # 指定你正在使用的操作系统,windows为nt,linux为“posix"
os.shell() # 运行shell命令
print(os.environ) # 返回操作系统所有的环境变量
print(os.getenv("home")) # 读取指定环境变量的值
os.environ.setdefault("home","c:\windows")
print(os.linesep) # 给出当前系统的行中止符,Windows使用'\r\n',Linux and MAC使用'\n'
print(os.listdir()) # 返回指定目录下的所有文件和目录名,默认当前目录下。
os.remove() # 删除指定的文件
os.mkdir() # 创建一个目录
os.makedirs(r"d:\11\22") # 创建多级目录
os.removedirs(r"d:\11\22") # 删除多级目录,目录不为空时报错,删除后上级目录为空的话继续删除
os.rename("old","new")
print(os.stat("time模块.py")) #获取文件属性
os.chmod() # 修改文件权限与时间戳
os.chdir(dirname) # 修改工作目录到dirname
os.get_terminal_size() # 获取当前终端的大小
os.kill(10884,signal.SIGKILL) # 杀死进程
# 带path
os.path.abspath() # 获取绝对路径
os.path.dirname() # 获取路径名
os.path.basename() # 获取文件名
os.path.getsize() # 获取文件大小
os.path.split() # 获取一个路径的目录名与文件名 e.g os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
os.path.splitext() # 分离扩展名 e.g os.path.splitext('/usr/local/test.py') 结果:('/usr/local/test', '.py')
os.path.join(dir,filename) #结合目录名与文件名
os.path.isfile() # 判断是否是一个文件
os.path.isdir() # 判断是否是一个目录
os.path.isabs() # 判断是否是绝对路径
os.path.exists() # 判断给出的路径是否真的存在
sys模块
sys.argv # 命令行参数List,第一个元素是程序本身路径
sys.exit(n) # 退出程序,正常退出时exit(0)
sys.version # 获取Python解释程序的版本信息
sys.maxint # 最大的Int值
sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform # 返回操作系统平台名称
sys.stdout.write('please:') # 标准输出 , 引出进度条的例子, 注,在py3上不行,可以用print代替
val = sys.stdin.readline()[:-1] # 标准输入
sys.getrecursionlimit() # 获取最大递归层数
sys.setrecursionlimit(1200) # 设置最大递归层数
sys.getdefaultencoding() # 获取解释器默认编码
sys.getfilesystemencoding # 获取内存数据存到文件里的默认编码
subprocess模块
hashlib模块
# 用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib
c = hashlib.sha1()c.update("admin".encode("utf8"))print(s.hexdigest())print(s.digest()) # 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
s = hashlib.md5(bytes("451sdhjshdjs",encoding="utf-8"))
s.update(bytes("admin", encoding="utf-8"))
print(s.hexdigest()) # python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密
import hmac
h = hmac.new(bytes("shsh55", encoding="utf-8"))
h.update(bytes("admin", encoding="utf-8"))
print(h.hexdigest())
python模块 os&sys&subprocess&hashlib模块的更多相关文章
- python 正则,os,sys,hashlib模块
简单的小算法 random随机获取数据 import random def getrandata(num): a=[] i= while i<num: a.append(random.randi ...
- 6 - 常用模块(os,sys,time&datetime,random,json&picle,shelve,hashlib)
导入模块 想使用 Python 源文件,只需在另一个源文件里执行 import 语句 import module1[, module2[,... moduleN] from语句让你从模块中导入一个指定 ...
- Python模块 - os , sys.shutil
os 模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录: ...
- Python常用模块os & sys & shutil模块
OS模块 import os ''' os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录: ...
- (转)python之os,sys模块详解
python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...
- python基础四(json\os\sys\random\string模块、文件、函数)
一.文件的修改 文件修改的两种思路: 1.把文件内容拿出来,做修改后,清空原来文件的内容,然后把修改过的文件内容重新写进去. 步骤: 1.打开文件:f=open('file','a+') #必须用a ...
- Python基础之模块:6、hashlib模块 subprocess模块 logging模块
目录 一.hashlib模块 1.简介 2.基本操作与用法 二.subprocess模块 1.简介 2.基本操作与用法 三.logging模块 1.简介 2.基本操作与用法 一.hashlib模块 1 ...
- python基础之 序列化,os,sys,random,hashlib
1.序列化 定义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...
- python基础 (序列化,os,sys,random,hashlib)
1.序列化 定义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...
随机推荐
- webpack打包和gulp打包工具详细教程
30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解ba ...
- 只有mdf文件和ldf文件--怎么恢复数据库
1.将mdf和ldf放到你电脑的路径中. 2.执行以下语句 USE master; GO CREATE DATABASE DBName ON (FILENAME = 'C:\Program Files ...
- js···DOM2动态创建节点
1.生成节点的方法 document.createElement(“div”) 2.插入节点的方法 父元素.appendChild(新节点) 在父节点中的子节点后面插入新的节点 3.在指定的位置 ...
- 由strcat函数引发的C语言中数组和指针问题的思考
问题一 首先,来看一下下面这段代码: #include <stdio.h> #include <string.h> int main() { char *str = " ...
- REST SOAP Thrift 对比
别人的REST SOAP Thrift对比: 单项分数越高越好 项目 REST SOAP Thrift Extensibility 5 3 1 Neutrality 2 4 3 Independenc ...
- vue简单实例代码
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- Centos搭建NFS服务及客户端访问
一.环境介绍 NFS服务端:192.168.200.101 NFS客户端:192.168.200.102 二.服务器端安装配置 1.查看rpcbind和nfs-utils安装包是否安装 [root@b ...
- Java JVM里堆和栈的区别
参考资料: 1.堆和栈的概念和区别 2.JVM虚拟机
- 弹出的 Dialog 里,包含 Form,如何在关闭 Dialog 时,执行 resetFields(对整个表单进行重置,将所有字段值重置为初始值并移除校验结果)
做法: before-close 事件中,调用 resetFields 取消按钮事件中,调用 resetFields <el-dialog title="弹出窗口" :vis ...
- php商品对比功能代码分享
商品对比调用的JS文件(包含了商品对比框浮动JS): /*浮动窗口*/ (function(){ var n=10; var obj=document.getElementById(&qu ...