2018.10.16python学习第二十天

Posted CUIHUANIHAO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.10.16python学习第二十天相关的知识,希望对你有一定的参考价值。

常用模块

random 模块

? 随机数生成模块

? random.random() 0-1 不包括1的随机浮点数

? random.randint(1,10) 1-10 包括1和10的整数

? random.randrange(1,10) 1-10 包括1,但是不包括10的整数

? random.choice(list) list 从list中随机取出一个数

? random.choices(list,k=个数) list 从list中随机取出k个数

? random.sample(list,k) list 从list中随机取出k个数

? random.uniform(1,3) 1-3 不包括1和3,的随机浮点数

? ls=[1,2,3,4,5]

? random.shuffle[ls] list 将ls的顺序随机打乱

? print(ls)

? random的应用之随机验证码:包括0-9,A-Z,a-z

def verification_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(verification_code(6))
sys模块

? sys.path 环境变量

? sys.modules 查看已经加载的模块

? sys.argv 命令行参数List,第一个元素是程序本身路径

? sys.exit(n) 退出程序,正常退出时exit(0)

? sys.version 获取python解释器程序的版本信息

? sys.maxint 最大的Int值

? sys.platform 返回操作系统平台名称

os模块

? os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

? os.chdir(‘dirname‘) 改变当前脚本工作目录;相当于shell下的cd

? os.curdir 返回当前目录:(‘.‘))

? os.pardir 获取当前目录的父目录字符串名:(‘..‘)

? os.makedirs(‘dirname1/dirname2‘) 可以生成多层递归目录

? os.removedirs(‘dirname1‘) 若目录为空,则删除,并递归到上一层目录,如若也为空,则删

? 除,以此类推

? os.mkdir(‘dirname‘) 生成单级目录;相当于shell中的mkdir dirname

? os.rmdir(‘dirname‘) 删除单机空目录,若目录部位空则无法删除,报错,相当于shell

? 中的rmdir dirname

? os.listdir(‘dirname‘) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以list

? 方式打印出来

? os.remove() 删除一个文件

? os.rename(‘oldname‘,‘newname‘) 重命名文件/目录

? os.stat(‘path/filename‘) 获取文件/目录信息

? os.sep 输出操作系统特定的路径分隔符,win下为‘‘,linux下为‘/‘

? os.linesep 输出当前平台使用的行终止符,win下为‘ ‘,linux下为‘/n‘

? os.pathsep 输出用于分割文件路径的字符串,win下为; linux下为:

? os.name 输出字符串指示当前使用平台。 win->‘nt‘,linux->‘posix‘

? os.system(‘bash command‘) 运行shell命令,直接显示

? os.environ 获取系统环境变量

path 模块

? os.path.abspath(path) 返回path规范化的绝对路径

? ospath.split(path) 将path分割成目录和文件名二元组返回

? os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
? os.path.basenname(path) 返回path最后的文件名。如过path以 / 或者  结尾,那么就会返回

? 空值。即os.path.split(path)的第二个元素

? os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

? os.path.isabs(path) 如果path是一个绝对路径,返回True。

? os.path.isfile(path) 如果path是一个存在的目录,返回True。否则False

? os.path.isdir(path) 如果path是一个存在的目录,返回True。否则False

? os.path.join(path[,path2[,...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

? os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

? os.path.getmtime(path) 返回path所指向的我呢见或者目录的最后修改时间

? os.path.getsize(path) 返回path的大小

? # normcase 用于将路径规范化,会将大写转为小写,斜杠改为当前系统分隔符

print(os.path.normcase(‘\a\b\ABC‘))

? # normpath 用于将路径规范化,不经将非法的分隔符替换为合法分隔符,还想大写转小

? 写,并且会执行‘..‘的回到上一层

print(os.path.normpath(‘/a/b.../ABC‘))

获取项目根目录

shutil 模块

? shutil.copyfileobj() copy文件,提供两个文件对象,长度表示缓冲区大小

? shutil.copyfile(src,dst) copy文件,提供两个文件路径

? shutil.copymode() copy文件权限,提供两个文件路径

? shutil.copystat(src,dst) copy文件状态信息,最后访问,最后修改,权限,提供两个文件

? 路径

? shutil.copy(src,dst) copy文件和权限,提供两个文件路径

? shutil.copy(src,dst) copy文件和转台信息,提供两个文件路径

? shutil.ignore_patterns(‘mp3‘,‘*.py‘)

? shutil.copytree(src,dst,symlnks=False,ignore=None) 拷贝目录

? symlinks 默认False将软件连接拷贝为硬链接 否则拷贝为软链接

? shutil.rmtree 删除目录 可以设置忽略文件

? shutil.move(src,dst) 移动目录和文件

解压 & 压缩

? shutil可以打包,但是无法解包,并且打包也是调用tarfile和zipFile完成,解压需要按照格式调

? 用对应的模块。

打包:

import shutil
shutil.make_archive(‘test‘,‘tar‘,‘/users/jerry/PycharmProjects/package/packa ge1‘)

zip压缩

import tarfile,zipfile
z=zipfile.ZipFile(‘test.zip‘,‘w‘)
z.write(‘sys.py‘)
z.write(‘start‘py‘)
z.close()

zip解压

z=zipfile.ZipFile(‘test.zip‘,‘r‘)
z.extractall("/Users/jerry/PycharmProjects/package/aaa")
z.close()

tar压缩

t=tarfile.open(‘test.tar‘,‘w‘)
t.add(‘start.py‘)
t.add(‘sys.py‘)
t.close()

tar解压

t=tarfile.open(‘test.tar‘)
t.extractall(‘aaa/‘)
t.close()

以上是关于2018.10.16python学习第二十天的主要内容,如果未能解决你的问题,请参考以下文章

第二十天 PYTHON学习

python学习第二十天

学习python课程第二十天

python学习第二十天文件操作方法

Python 学习第二十天 django知识

学习python课程第二十天