10.高级语法(2)

os模块-操作系统相关

  • 主要是文件操作
  • 主要包含三个模块:
    • os,操作系统目录相关
    • os.path,系统路径相关操作
    • shutil,高级文件操作,目录树的操作,文件赋值、删除、移动
  • 路径:
    • 绝对路径:总是从根目录开始
    • 相对路径:基本以当前环境开始的一个相对的地方
import os
# getcwd()获取当前的工作目录
# 返回值:当前工作目录的字符串
mydir  = os.getcwd()
print(mydir)
C:\Users\86185\Desktop\python学习笔记
# chdir()改变当前的工作目录
# 返回值:无
os.chdir('C:\\Users\86185\\Desktop')
os.getcwd()
'C:\\Users\\86185\\Desktop'
# listdir()获取一个目录中所有子目录和文件的列表
os.listdir()
['2019年编程总计划.xlsx',
 'angular4文档',
 'desktop.ini',
 'Excel.lnk',
 'Google Chrome.lnk',
 'MyEclipse 2017.lnk',
 'NodeJS基础API文档',
 'PowerPoint.lnk',
 'python学习笔记',
 'sublime.exe.lnk',
 'Visual Studio Code.lnk',
 'Word.lnk',
 'XMind 8.lnk',
 '前端相关视屏笔记',
 '前端面试必会',
 '我的健康数据.xlsx',
 '随手记文档']
# makedirs()递归创建文件夹
# 递归:层层嵌套的目录
os.makedirs('baimuqun')
# system()运行系统shell命令
# 返回值:打开一个人shell或者终端界面
os.system('ls')
1
# getenv()获取指定的系统环境变量值
os.getenv('path')
'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\IDM Computer Solutions\\UltraEdit;D:\\software\\Python\\Python37\\Scripts\\;D:\\software\\Python\\Python37\\;C:\\Users\\86185\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\software\\IntelliJ IDEA 2019.1.4\\bin;;C:\\Users\\86185\\AppData\\Roaming\\npm;D:\\software\\Microsoft VS Code\\bin;d:\\software\\python\\python37\\lib\\site-packages\\pywin32_system32'
# putenv()设置环境变量
# exit()退出当前程序

值部分:用来拼写路径或地址

  • os.curdir:当前目录
  • os.pardir:父目录
  • os.sep:当前系统的路径分隔符
  • os.linesep:当前系统的换行符号
  • os.name:当前系统名称
os.curdir
'.'
os.pardir
'..'
os.sep
'\\'
os.linesep
'\r\n'
os.name
'nt'

os.path

import os.path as op
# abspath()将路径转化为绝对路径
op.abspath('.')
'C:\\Users\\86185\\Desktop'
# basename()获取路径中的文件名部分
op.basename('C:\\Users\\86185\\Desktop\\10.高级语法(2)')
'10.高级语法(2)'
# join()将多个路径合成一个路径
op.join('C:\\Users\\86185\\Desktop','10.高级语法(2)')
'C:\\Users\\86185\\Desktop\\10.高级语法(2)'
# split()将路径切割为文件夹部分和当前文件部分
# 返回结果为元组
d,p = op.split('C:\\Users\\86185\\Desktop\\10.高级语法(2)')
print(d,p)
C:\Users\86185\Desktop 10.高级语法(2)
# isdir()检测是否是目录
op.isdir('C:\\Users\\86185\\Desktop\\10.高级语法(2)')
False
# exists()判断文件或目录是否存在
op.exists('10.高级语法(2)')
False

shutil模块

import shutil as st
# copy()复制文件
# 格式:shutil.copy(sourcePath,destPath)

# copy2()复制文件,保留源数据
# 格式:shutil.copy(sourcePath,destPath)
# 返回值:目标路径

# copyfile()将一个文件中的内容复制到另外一个文件中
# 格式:shutil.copyfile(sourcePath,destPath)

# move()移动文件/文件夹
# 格式:shutil.move(sourcePath,destPath)
# 返回值:目标路径

归档和压缩

  • 归档:把多个文件或文件夹合并到一个文件中
  • 压缩:用算法把多个文件或文件夹无损或有损的合并到一个文件中
# make_archive()归档操作
# 格式:shutil.make_archive('归档之后的目录或文件名','后缀','需要归档的文件夹')
# 返回值:归档之后的路径

# unpack_archive()解包操作
# 格式:shutil.unpack_archive('归档文件地址,'解包之后的地址')
# 返回值:解包之后的路径

zip压缩包

import zipfile as zf
# zipfile.ZipFile()创建一个ZipFile对象

# zipfile.getinfo(name)获取zip文档内指定文件的信息

# zipfile.namelist()获取zip文档内所有文件的名称列表

# zipfile.extractall()解压zip文档中的所有文件到当前目录

random随机数模块

  • 所有的随机模块都是伪随机
import random as rd
# random()获取0-1之间的随机小数
rd.random()
0.7264178065562711
# choice()随机返回序列中的某个值
l = [i for i in range(1,10)]
rd.choice(l)
3
# shuffle()随机打乱列表
l = [i for i in range(1,10)]
rd.shuffle(l)
print(l)
[9, 4, 7, 1, 8, 5, 2, 6, 3]
# randint(a,b)返回一个a到b之间的随机整数,包含a和b
rd.randint(1,10)
2
发布了247 篇原创文章 · 获赞 23 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/LiyangBai/article/details/102876460
10.