学习python课程第十八天
Posted lvyipin1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习python课程第十八天相关的知识,希望对你有一定的参考价值。
一. 常用模块:
1. sys 模块
1.print(sys.path)
#查看环境变量
2.print(sys.modules)
#查看已经加载的模块
3.print(sys.argv)
#获取终端调用时的参数
4.print(sys.version)
#获取解释器的版本信息
5.print(sys.platform)
#当前平台的名称
6.sys.exit(0)
#正常结束程序,后面的参数必须传整型.
了解:
print(sys.api_version)
#接口的版本
print(sys.maxsize)
#当前最大的数值
print(sys.maxunicode)
#unicode拥有多少对应关系
总结: 什么情况下能用sys?
当你想看看当前的各种信息的时候.
2. os 模块
1.print(os.makedirs(‘1/2/4‘))
#创建一个目录,可以递归创建.一层一层的创建
2.print(os.mkdir(‘AA‘))
#创建一个目录
3.os.removedirs(‘a/b/c‘)
#递归删除,如果没有文件就删掉,有文件就保留
4.os.rmdir(‘AA‘)
#删除一个目录,后面的参数是目录名
5.os.remove(r‘一个路径‘)
#给出一个路径,然后删除文件.(仅能删除文件)
6.print(os.listdir(r‘路径‘))
#列出添加的路径下的所有文件和文件夹名称
7.os.rename(‘a‘,‘b‘)
#重命名文件/目录
8.print(os.sep)
#获取当前平台的路径分隔符
9.print(os.linesep)
#获取当前平台的换行符
10.os.environ
#获取系统环境的变量
了解:
print(os.curdir)
#当前执行文件所在的目录(是一个点)
print(os.pardir)
#当前执行文件的上一层目录(是两个点)
print(os.environ)
#获取系统的环境变量
print(os.getcwd)
#获取当前的工作目录
os.chdir(‘‘)
#切换工作目录. 后面添加上想要切换目录的路径
os.name
#输出字符串指示当前使用平台
os.system(‘dir‘)
#运行控制台的命令,直接显示
总结: os模块主要用于与操作系统来进行交互.
3. os下的path模块
from os import path
1.print(path.abspath(‘文件名‘))
#返回绝对路径,不管文件名存不存在,都会返回
2.print(path.split(‘a/b/c.txt‘))
#把路径拆分为: 文件夹路径和文件名称
3.print(path.dirname(__file__))
#获取路径中的上一级文件夹
4.print(path.basename(‘一个路径‘))
#返回路径最后一级的名称
5.print(path.exists(‘一个路径‘))
#判断路径是否存在. 存在就是True,不存在就是False
6.print(path.isabs(‘a/b/c‘))
#判断是否是绝对路径, linux下第一个是/就是绝对. win下盘符开始就是绝对
7.print(path.isfile(‘文件名‘))
#判断文件是否存在,存在就是True.不存在就是False
8.print(path.join(‘a‘,‘b‘,‘c‘))
#将多个名称拼接为路径,如果有多个起始盘符, 取最后一个
示例:
BASE_DTR2 = os.path.dirname(os.path.dirname(__file__))
LOG_PATH2 = os.path.join(BASE_DIR2,‘log‘,‘log.txt‘)
#必须用相对路径拼接,不然就违反了跨平台的原则
9.print(path.getsize(‘一个目录‘))
#计算出文件夹或文件的大小(多少字节)
10.print(path.normcase(‘AABB//CC\‘))
#大写变小写, 斜杠根据当前平台来修改
11.print(os.path.normpath(‘/a/b/.|,/ABCS‘))
#斜杠会修改为当前平台的分隔符, 可用执行..来返回上一级
示例: (拼接方式, 跨平台)
print(os.path.normpath(__file__))
print(os.path.normpath(os.path.join(__file__,‘..‘,‘..‘)))
总结: 都是跟一些路径来打交道
4. random 随机数模块
1.print(random.random())
#默认从0到1.来取值
2.print(random.randint(1,10))
#1 - 10 包括1和10 的整数
3.print(random.randrange(1,10))
#1 - 10 包括1. 不包括10的整数
4.print(random.uniform(1,3))
#两边都包含的随机浮点数
5.print(random.sample([1,2,3,4,5],3))
#指定一个范围,并指定需要的随机个数
6.ls = [‘1‘,‘2‘,‘3‘,‘4‘]
random.shuffle(ls)
print(ls)
#打乱顺序, 洗牌. 修改的是原油的列表
7.print(random.choice([1,2,3]))
#随机从列表里选一个,再用列表形式来返回值
8.print(random.choices([1,2,3],k=2))
#随机从列表里取值, 后面可以定义选择的次数,再用列表形式来返回值
#随机验证码: 长度自定义,包括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(4))
5. shutil 模块
1.shutil.copyfileobj()
#拷贝文件, 提供两个文件对象 长度表示缓冲区大小
2.shutil.copyfile()
#拷贝文件,提供两个文件的路径
3.shutil.copymode()
#拷贝文件权限, 提供两个文件路径
4.shutil.copystat()
#拷贝文件状态信息, 最后访问,最后修改,提供两个文件路径
5.shutil.copy()
#拷贝文件和权限 提供两个文件路径
6.shutil.copy2()
#拷贝文件和状态信息,提供两个文件路径
7. shutil.ignore_patterns(‘mp3‘,‘*.py‘) #拷贝目录的时候想要忽略掉的文件
shutil.copytree(src,dst,symlinks = False,igonore = None)
#拷贝目录,symlinks默认False将软连接拷贝为硬连接 否则拷贝为软连接
8.shutil.rmtree()
#删除目录,可以设置忽略文件
9.shutil.move()
#移动目录和文件
shutil 提供的文件压缩与解压缩 :
压缩文件:
shutil.make_archive(‘my压缩‘,‘zip‘,r‘想要压缩的文件夹路径‘) #在参数里添加想要压缩后的文件名.类型,
shutil.make_archive(‘my压缩‘,‘tar‘,r‘想要压缩的文件夹路径‘)
解压文件: (shutil模块也有解压文件功能)
zip式的解压:
import zipfile
z= zipfile.Zipfile(r‘想要压缩的文件夹路径‘,‘r‘)
z.extractall(path=r‘想要解压过的文件路径和名称‘)
z.close()
tar式的解压:
import tarfile
t = tarfile.open(r‘想要解压的文件‘,‘r‘)
t.extractall(r‘想要解压过的文件路径和名称‘)
t.close()
总结: 用于简化文件操作的模块.有很多非常简单的操作文件功能
以上是关于学习python课程第十八天的主要内容,如果未能解决你的问题,请参考以下文章