Python基础之shutil模块、random模块
1.shutil模块
shutil模块是对os模块的功能补充,包含移动、复制、打包、压缩、解压等功能。
1)shutil.copyfileobj()
复制文件内容到另一个文件,可指定大小内容,如length=16*1024。
import shutil
f_old = open('old_file','r')
f_new = open('new_file','w')
shutil.copyfileobj(f_old,f_new,length=*)
2)shutil.copyfile()
同样将文件内容复制到另一个文件,但是可以直接使用文件名,无须用open()方法打开,事实上此方法调用了shutil.copyfileobj()方法。
import shutil
shutil.copyfile('f_old','f_new')
3)shutil.copymode()
每个文件创建时要赋予其一定的权限,比如,只读、可读可写等等,shutil.copymode()方法是将文件的权限复制给另一个文件。
import shutil
shutil.copymode('f_old','f_new')
4)shutil.copystat()
将文件所有的状态信息复制至另一个文件,包括权限,组,用户,时间等。
import shutil
shutil.copystat('f_old','f_new')
5)shutil.copy()
将文件的内容和权限复制给另一个文件,相当于先用shutil.copyfile()方法,再用shutil.copymode()方法。
import shutil
shutil.copy('f_old','f_new')
6)shutil.copy2()
将文件内容和所有信息状态复制给另一个文件,相当于先用shutil.copyfile()方法,再用shutil.copystat()方法。
import shutil
shutil.copy2('f_old','f_new')
7)shutil.copytree()
可以递归复制多个目录到指定目录下,shutil.copytree(源目录,目标目录,True/False)。
8)shutil.rmtree()
递归的删除一个目录和目录下的所有文件。
9)shutil.move()
递归的移动文件,相当于重命名。
10)shutil.make_archive()
shutil.make_archive(base_name,format,root_dir),压缩,打包文件。
base_name:压缩包的文件名,也可以是路径,如果是文件名时保存到当前目录,如果是路径时保存至指定路径。
format:压缩包种类,zip/tar/bztar/gztar。
root_dir:要压缩的文件夹路径。
将 F:\\python\\week4 路径下的文件打包放到 当前目录 下,压缩包名字为f_old,压缩方式为zip。
import shutil
ret = shutil.make_archive("f_old", 'zip', root_dir='F:\\python\\week4')
将 F:\\python\\week4 路径下的文件打包放到 F:\\python\\week2 路径下,压缩包名字为f_old,压缩方式为zip。
import shutil
ret = shutil.make_archive("F:\\python\\week2\\f_old", 'zip', root_dir='F:\\python\\week4')
11)ZipFile和TarFile模块
shutil对压缩包的处理是调用ZipFile和TarFile模块。
2.random模块
random模块用于生成随机数。
1)random.random()
random.random()用于生成一个0.0-1.0的随机浮点数。
import random
print(random.random())
结果:
0.7381125452476276
2)random.uniform()
random.uniform(a,b)用于生成一个指定上下限的随机浮点数,包括上下限值。
import random
print(random.uniform(,))
结果:
48.088142353356744
3)random.randint()
random.randint(a,b)用于生成一个指定上下限的随机整型数,包括上下限。
import random
print(random.randint(,))
结果:
4)random.randrange()
random.randrange()用于生成一个指定上下限的随机整型数,包括左边不包括右边。
import random
print(random.randrange(,))
结果:
5)random.choice()
random.choice(),从中随机选取一个值。
import random
print(random.choice([,,,,,]))
结果:
6)random.shuffle()
rando.shuffle()将一个列表中的元素打乱。
import random
lis = [,,,,,]
random.shuffle(lis)
print(lis)
结果:
[, , , , , ]
7)random.sample()
random.sample()从指定序列中随机选取指定长度的字符。
import random
ret = random.sample('abcdefg',)
print(ret)
结果:
['a', 'c', 'f']
Python基础之shutil模块、random模块的更多相关文章
- Day13 Python基础之time/datetime/random模块一(十一)
time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...
- python常用模块——random模块
参考博客:http://www.360doc.com/content/14/0430/11/16044571_373443266.shtml 今天突然想起python该怎么生成随机数?查了一下,贴出实 ...
- Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)
Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...
- Python模块01/自定义模块/time模块/datetime模块/random模块
Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...
- python shutil模块&random模块
shutil模块 import shutil shutil.copyfileobj(open("os_.py", "r"), open("os_2.p ...
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...
- python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)
一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...
- python time模块 sys模块 collections模块 random模块 os模块 序列化 datetime模块
一 collections模块 collections模块在内置的数据类型,比如:int.str.list.dict等基础之上额外提供了几种数据类型. 参考博客 http://www.pythoner ...
- Python:time模块/random模块/os模块/sys模块
time 模块 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time() 获取当前时间戳 python中时间日期格式化符号: %y 两位数的 ...
随机推荐
- MySQL索引(九)
一.索引介绍 1.1 什么是索引 索引就好比一本书的目录,它会让你更快的找到内容. 让获取的数据更有目的性,从而提高数据库检索数据的性能. 分为以下四种: BTREE:B+树索引(基本上都是使用此索引 ...
- Pycharm过期了怎么办?
Pycharn过期了,打开Pycharm,选择help,倒数第三个register,用激活码进行激活,具体情况见激活码,侵删
- 套接字编程(TCP)
json模块补充 json保存的格式中,key值一定要用双引号隔开 import json #把字典转成json格式字符串 dic = {'name': 'lqz', 'xx': False, 'yy ...
- 冬令营DAY3 T1 Matrix
题目描述 Description 生活中,我们常常用 233 表示情感.实际上,我们也会说 2333,23333,等等. 于是问题来了: 定义一种矩阵,称为 233 矩阵.矩阵的第一行依次是 2 ...
- js面向对象的笼统介绍
**js进阶大纲**简单的表面组成:**对象的属性分两类,一类是数据属性,一类是访问器属性**1,数据属性用来保存数据.2,访问器属性不用来保存数据,而是定义了get,set两个函数,读取属性时,自动 ...
- web标准以及w3c标准
web标准:将结构.表现.行为分离,使其更具有模块化. w3c标准:标签字母要小写,双标签要闭合,标签不允许随意嵌套. 尽量使用外部样式和外链js,使结构.表现.行为分为三块,这样可以提高页面渲染速度 ...
- 洛谷P1230智力大冲浪 题解
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- 第02组 Alpha冲刺(3/6)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 摸鱼 提交记录(全组共用) 接下来的计划 沟通前后端成员,监督.提醒他们尽快完成各自的进度 学习如何评估代码质量 准备Al ...
- python3 pathlib库中的Path类的使用
调用库 from pathlib import Path 获取 Path 的文件名 Path.name 参考 https://blog.csdn.net/amanfromearth/article/d ...
- Java操作Hive
Hadoop版本:hadoop-2.9.2.tar.gz,Hive版本:apache-hive-2.3.6-src.tar.gz,安装Hive可查看:CentOS安装Hive 保证Hive以正确启动h ...