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模块的更多相关文章

  1. Day13 Python基础之time/datetime/random模块一(十一)

    time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...

  2. python常用模块——random模块

    参考博客:http://www.360doc.com/content/14/0430/11/16044571_373443266.shtml 今天突然想起python该怎么生成随机数?查了一下,贴出实 ...

  3. Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)

    Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...

  4. Python模块01/自定义模块/time模块/datetime模块/random模块

    Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...

  5. python shutil模块&random模块

    shutil模块 import shutil shutil.copyfileobj(open("os_.py", "r"), open("os_2.p ...

  6. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  7. python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)

    一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...

  8. python time模块 sys模块 collections模块 random模块 os模块 序列化 datetime模块

    一 collections模块 collections模块在内置的数据类型,比如:int.str.list.dict等基础之上额外提供了几种数据类型. 参考博客 http://www.pythoner ...

  9. Python:time模块/random模块/os模块/sys模块

    time 模块 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time() 获取当前时间戳 python中时间日期格式化符号: %y 两位数的 ...

随机推荐

  1. HTTP中分块编码(Transfer-Encoding: chunked)

    转自: 妙音天女--分块传输编码~ 参考链接: HTTP MDN--HTTP协议 一.背景: 持续连接的问题:对于非持续连接,浏览器可以通过连接是否关闭来界定请求或响应实体的边界:而对于持续连接,这种 ...

  2. HDU 1253 胜利大逃亡 题解

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. java lambda表达式检查list集合是否存在某个值

    import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class ...

  4. 51nod 1594 Gcd and Phi(莫比乌斯反演)

    题目链接 传送门 思路 如果这题是这样的: \[ F(n)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\phi(gcd(i,j)) \] 那么我们可能会想到下 ...

  5. django 补充 QuerySet数据类型

    1 QuerySet数据类型  特点:      (1) 可切片    Entry.objects.all()[:5]      (2) 可迭代 :                articleLis ...

  6. python类定义的讲解

    python是怎么定义类的,看了下面的文章大家就会了,不用多说,开始学习. 一.类定义: 复制代码代码如下: class <类名>: <语句> 类实例化后,可以使用其属性,实际 ...

  7. 总结:几种生成html格式测试报告的方法

    写自动化测试时,一个很重要的任务就是生成漂亮的测试报告. 1.用junit或testNg时,可以用ant辅助生成html格式: <target name="report" d ...

  8. [THUPC2019]过河卒二(组合数学,容斥原理)

    以后都懒得写题目大意和数据范围了. hz学长的题其实也不那么毒瘤吗.比CDW的好多了 先考虑没有障碍怎么做. 首先发现,答案相当于一个左下角是 $(1,1)$,右上角是 $(n+1,m+1)$ 的棋盘 ...

  9. ECMAScript6-1

    1.let与const ES205(ES6)新增两个重要的JavaScript关键字:let和const let声明的变量只在let命令所在的代码块内有效,const声明一个只读的常量,一旦声明,其值 ...

  10. PyCharmIDE: 给脚本传递参数