# listdir() 获取一个目录中所有子目录和文件的名称列表
# 格式:os.listdir(路径)
# 返回值:所有子目录和文件名称的列表
ld = os.listdir()
print(ld)
常用模块
- calendar
- time
- datetime
- timeit
- os
- shutil
- zip
- math
- string
- 上述所有模块使用理论上都应该先导入,string是特例
- calendar,time,datetime的区别参考中文意思
os - 操作系统相关
- 跟操作系统相关,主要是文件操作
- 于系统相关的操作,主要包含在三个模块里
- os, 操作系统目录相关
- os.path, 系统路径相关操作
- shutil, 高级文件操作,目录树的操作,文件赋值,删除,移动
- 路径:
- 绝对路径: 总是从根目录上开始
- 相对路径: 基本以当前环境为开始的一个相对的地方
os 模块
import os
# getcwd() 获取当前的工作目录
# 格式:os.getcwd()
# 返回值:当前工作目录的字符串
# 当前工作目录就是程序在进行文件相关操作,默认查找文件的目录
mydir = os.getcwd()
print(mydir)
F:\pythonprojectlocation\com\python\osdemo
# chdir() 改变当前的工作目录
# change directory
# 格式:os.chdir(路径)
# 返回值:无
os.chdir('F:\pythonprojectlocation\com')
mydir = os.getcwd()
print(mydir)
F:\pythonprojectlocation\com
# listdir() 获取一个目录中所有子目录和文件的名称列表
# 格式:os.listdir(路径)
# 返回值:所有子目录和文件名称的列表
ld = os.listdir()
print(ld)
['python', '__init__.py', '__pycache__']
# makedirs() 递归创建文件夹
# 格式:os.makedirs(递归路径)
# 返回值:无
# 递归路径:多个文件夹层层包含的路径就是递归路径 例如 a/b/c...
rst = os.makedirs("dana")
print(rst)
None
# system() 运行系统shell命令
# 格式:os.system(系统命令)
# 返回值:打开一个shell或者终端界面
# 一般推荐使用subprocess代替
# ls是列出当前文件和文件夹的系统命令
rst = os.system("ls") #windows "dir"
print(rst)
# 在当前目录下创建一个dana.haha 的文集
rst = os.system("touch dana.haha") #touch linux 命令
print(rst)
#getenv() 获取指定的系统环境变量值
# 相应的还有putenv
# 格式:os.getenv('环境变量名')
# 返回值:指定环境变量名对应的值
rst = os.getenv("PATH")
print(rst)
D:\softWare\python3\Scripts\;D:\softWare\python3\;F:\softWare\oracle_home\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;F:\softWare\Java\jdk1.8.0_172\bin;F:\softWare\Java\jdk1.8.0_172\jre\bin;F:\softWare\Tomcat\apache-tomcat-8.5.31\lib;F:\softWare\Tomcat\apache-tomcat-8.5.31\bin;F:\softWare\Maven\apache-maven-3.5.3\bin;C:\Users\Dream\AppData\Local\Microsoft\WindowsApps;;F:\pythonprojectlocation\Scripts
# exit() 退出当前程序
# 格式:exit()
# 返回值:无
值部分
- os.curdir: curretn dir,当前目录
- os.pardir: parent dir, 父亲目录
- os.sep: 当前系统的路径分隔符
- windows: "\"
- linux: "/"
- os.linesep: 当前系统的换行符号
- windows: "\r\n"
- unix,linux,macos: "\n"
- os.name: 当前系统名称
- windows: nt
- mac,unix,linux: posix
# linux操作系统的名称是posix
print(os.name)
posix
os.path 模块, 跟路径相关的模块
import os.path as op
# abspath() 将路径转化为绝对路径
# abselute 绝对
# 格式:os.path.abspath('路径')
# 返回值:路径的绝对路径形式
# linux中
# . 点号,代表当前目录
# .. 双点,代表父目录
absp = op.abspath(".")
print(absp)
F:\pythonprojectlocation\com
# basename() 获取路径中的文件名部分
# 格式:os.path.basename(路径)
# 返回值:文件名字符串
bn = op.basename("F:\pythonprojectlocation\com")
print(bn)
com
# split() 将路径切割为文件夹部分和当前文件部分
# 格式:os.path.split(路径)
# 返回值:路径和文件名组成的元组
d,p = op.split("F:\pythonprojectlocation\Scripts\python1.exe")
print(d,"-"*20, p)
F:\pythonprojectlocation\Scripts -------------------- python1.exe
# isdir() 检测是否是目录
# 格式:os.path.isdir(路径)
# 返回值:布尔值
rst = op.isdir("F:\pythonprojectlocation\com")
rst
True
# exists() 检测文件或者目录是否存在
# 格式:os.path.exists(路径)
# 返回值:布尔值
e = op.exists("F:\pythonprojectlocation\com")
e
True