os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩

Posted yanhui1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_yingyongmy压缩.zip‘,‘w‘)
t.add(‘bb.txt‘)
t.add(‘cc.txt‘)
t.close()  
      #解压,建立一个叫做解压的文件夹 进行解压,如果出现同名不会报错也不会生成同名文件夹
      import tarfile
       t=tarfile.open(r‘D:py_yingyongmy压缩.zip‘,‘r‘)
       t.extractall(r‘D:py_yingyongmy解压‘)
       t.close()
      #把文件的内容直接解压到当前文件夹,如果当前文件夹已有解压后文件名,则报错
import shutil
shutil.unpack_archive(r‘D:py_yingyongmy压缩.zip‘)





















































































































以上是关于os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩的主要内容,如果未能解决你的问题,请参考以下文章

43os和sys模块的作用?

Python内置的操作系统模块(os)与解释器交互模块(sys)

os sys区别

Python(os和sys)理解

python os,sys模块的使用

python中os和sys模块