os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩
1.os
与操作系统相关
对文件的处理
对路径的处理
import os#主要用于与操作系统进行交互
掌握:
print(os.makedirs('a/b/c'))#创建目录 可用递归创建
print(os.mkdir('AA'))#创建一个目录,名字中不能加/
os.removedirs('a/b/c')#递归删除,如果没有文件删除,有文件则保留
os.rmdir('AA')#删除一个目录
os.remove(r'xx')#删除文件,仅仅能删除文件
os.listdir(r'xx')#列出所有文件和文件夹名称
os.rename('xx','xxx')#重命名文件/目录名
os.stat()
print(os.sep)#获取当前平台的路径分隔符
print(os.linesep,end='')#获取平当前台换行符 了解:
print(os.getcwd())#获取当前的工作目录
os.chdir('')#切换工作目录
print(os.curdir)#当前目录,是一个点
print(os.pardir)#上一级目录,两个点
print(os.environ)#系统的环境变量
print(os.system(‘xx’))运行sell,直接显示 from os import path
print(os.path.abspath('xx'))#返回绝对路径,对字符串操作文件不存在不会报错
print(os.path.split('a/d/f.txt'))#将路径拆分为目录和文件名,远组形式
print(os.path.dirname(__file__))#获取路径中的上一级
print(os.path.basename(__file__))#获取最后一级名称
print(os.path.exists(‘xx’))#判断路径是否存在
print(os.path.isabs('xxx'))#判断是否是绝对路径,linux/开头是绝对路径;
print(path.join('C:\\','D:\\','a','b','c'))#将多个名称拼接成路径,如果有多个起始符,取最后一个
print(os.path.getsize('xx'))#获取文件或文件夹字节数
print(os.path.normcase('AA/BB\\CC//'))#用于路径规范化 会将大写转换小写 斜杠转成当前系统分割符
print(os.path.normpath('AA/BB\\CC//DD/..//EE'))#斜杠会修改为当前平台分割符,可执行..来返回上一级后继续执行
os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。 2.sys
解释器相关的信息
import sys
print(sys.path)#环境变量
print(sys.modules)#查看已经加载的模块
print(sys.argv)#获取终端调用时的参数 用空格隔开,在cmb中可直接执行
print(sys.version)#查看解释器的版本信息
sys.exit(0)程序无错正常运行
sys.exit(1)程序异常退出
#了解:
print(sys.api_Version)#接口版本
print(sys.maxsize)
print(sys.maxunicode)
print(sys.platform)#当前的平台名称 3.random
随机数模块
import random
print(random.random())#包含零到一之间的随机浮点数(不包含一)
print(random.randint(1,10))#1-10 包括10的整数
print(random.randrange(1,10))#1-10 不包含10 的整数
print(random.uniform(1,3))#两边都包含的随机浮点数
print(random.sample([1,2,4,5,78,'dd',6,],3))#指定一个范围,并指定一个随机个数
print(random.shuffle([1,2,4,5,78,'dd',6,]))#打乱顺序 洗牌 改的是原有列表
print(random.choice([1,2,3,4,6]))#在指定范围内随机取一个值
print(random.choices([1,2,3,45,5],k=3))#随机选指定个数 举例:
import random
#随机验证码 长度自定义 包括0-9 A-Z a-z
def get_auth_code(length):
res=''
for i in range(length):
a=random.randint(0,9)
b=chr(random.randint(65,90))
c=chr(random.randint(97,122))
s=random.choice([a,b,c])
res+=str(s)
return res
print(get_auth_code(5)) 4.shutil
用于操作文件
import shutil
#用于简化文件操作的模块
f1=open('bb.txt','rb')
f2=open(r'cc.txt','wb')
shutil.copyfileobj(f1,f2)#复制文件 解压和压缩
import shutil
#压缩
shutil.make_archive('my压缩','zip','D:\作业。10.12')
# 解压 可以对应模块来完成
import zipfile
z=zipfile.ZipFile(r'my压缩.zip','r')
#加path相当建立一个新的解压文件夹,什么都没有的话是直接解压到当前文件夹
z.extractall(path='解压')
z.close() #把文件整理压缩到一起
import tarfile
t=tarfile.open(r'D:\py_yingyong\my压缩.zip','w')
t.add('bb.txt')
t.add('cc.txt')
t.close()
#解压,建立一个叫做解压的文件夹 进行解压,如果出现同名不会报错也不会生成同名文件夹
import tarfile
t=tarfile.open(r'D:\py_yingyong\my压缩.zip','r')
t.extractall(r'D:\py_yingyong\my解压')
t.close()
#把文件的内容直接解压到当前文件夹,如果当前文件夹已有解压后文件名,则报错
import shutil
shutil.unpack_archive(r'D:\py_yingyong\my压缩.zip')
os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩的更多相关文章
- 第三十三节,sys解释器相关模块
首先要引入import sys模块 sys.argv 功能:获取向脚本文件传入的参数,返回的列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数 使用方法:sys.argv ...
- python解压,压缩,以及存数据库的相关操作
zipfile实现压缩整个目录和子目录 import os,shutil,zipfile,glob def dfs_get_zip_file(input_path,result): # files = ...
- 常用内置模块(一)--time、os、sys、random、shutil、pickle、json
一.time模块 Python中,通常有这几种方式来表示时间: 1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type( ...
- python常用模块:sys、os、path、setting、random、shutil
今日内容讲了3个常用模块 一.sys模块二.os模块三.os下path模块四.random模块五.shutil模块 一.sys模块 import sys #环境变量 print(sys.path) # ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- os模块+sys模块+random模块+shutil模块
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cdos.curdir ...
- 6 - 常用模块(os,sys,time&datetime,random,json&picle,shelve,hashlib)
导入模块 想使用 Python 源文件,只需在另一个源文件里执行 import 语句 import module1[, module2[,... moduleN] from语句让你从模块中导入一个指定 ...
- 常用内置模块(一)——time、os、sys、random、shutil、pickle、json
常用内置模块 一.time模块 在python中,时间分为3种 1.时间戳: timestamp,从1970年1月1日到现在的秒数, 主要用于计算两个时间的差 2.localtime ...
- Mac OS X操作系统常见快捷键集锦
Mac OS X操作系统常见快捷键集锦 启动时的快捷键 启动时按住 X 键 : 强制从 Mac OS X 启动(适用于那些在同一宗卷上安装了 Mac OS X 和 Mac OS 9 双系统的 Mac ...
随机推荐
- 第二阶段——个人工作总结DAY09
1.昨天做了什么:昨天学习了有关后台的知识. 2.今天打算做什么:实现后台. 3.遇到的困难:还是不知道该如何来做.
- 【IDEA】【8】上传已有项目到Git
问题:开发初期没有建立GIT仓库,开发一段时间后,需要将已有代码上传到Git 解决方案: 1,首先使用Git命令行 git clone XXXXX.git 将项目下载 2,拷贝下载下来的项目根目录下的 ...
- 【MySQL】【2】数字排序问题
--我用的方案 SELECT * FROM TABLE_Q ORDER BY CAST(ID AS SIGNED) ASC 备注: 不做特殊处理的话,数字位数不一样时排序有问题,比如10会比2小. 其 ...
- WebView中JS调用Android Method 遇到的坑整理
WebView是android中常用的一个组件,其作用是展示网页,并让网页和android app进行一些业务逻辑上的交互. 其坑无数,相信用过的都知道,一个一个来解决吧. 1.怎么互调: <! ...
- Hibernate -- lazy加载
Hibernate -- lazy加载 hibernate类级别懒加载: lazy:true(默认) //类级别懒加载 //load方法 //class lazy属性 //默认值:true load获 ...
- 浅谈table、form 标签
1.<table> 标签 1.1包含的元素 <caption></caption>:表头信息. <tr></tr> :定义一个表格行: &l ...
- weblogic修改安装路径教程
我们有一个安装好的weblogic,我们想再装一个weblogic或者想把weblogic装到别的目录去,最直接的做法是从头装一个. 但是从头装一个是比较费时费力的,尤其是打补丁环节和创domain环 ...
- 使用Swagger2构建强大的RESTful API文档(1)(二十二)
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- js 奇淫技巧
js没有用来统计字符串中含有多少个字母的方法 let value='aaa&bbb&aad123&333' 那么value共含有 value.length-value.repl ...
- am335x system upgrade uboot sd boot(一)
由于上层应用的需求,需要运行arm docker,在kernel3.2上面还不支持,且编译器的glibc版本比较低的问题,故需要做系统升级 新的内核4.14.40驱动开发和以往有很大的不同,关键在于d ...