OS模块应用
OS提供许多和操作系统交互的功能,允许访问文件,目录,进程,环境变量等。
导入模块,
import os
获取当前工作目录,
os.getcwd()
1
2
3
4current_dir=os.getcwd()
print("当前工作目录:",current_dir)
>>> 当前工作目录: C:\Users\wuyucun创建目录,
os.mkdir()
- 会把文件夹建立在当前.py文件的所在文件夹的同一层级中。
1
2
3current_dir=os.getcwd()
new_dir=os.path.join(os.getcwd(),"my_directory")
os.mkdir(new_dir)
- 会把文件夹建立在当前.py文件的所在文件夹的同一层级中。
遍历目录,
os.listdir
1
2
3
4files=os.listdir(os.getcwd())
for file in files:
print(file)删除文件或者目录,使用
os.remove()
删除文件,os.rmdir()
删除目录1
2
3
4
5file_to_delete=os.path.join(os.getcwd(),"file_to_delete.txt")
os.remove(file_to_delete)
dir_to_delete=os.path.join(os.getcwd(),"dir_to_delete")
os.rmdir(dir_to_delete)执行系统命令,使用
os.system()
1
os.system("calc")
获取环境变量,使用
os.environ
1
print(os.environ)
路径操作,使用
os.path
- 文件名获取
os.path.basename()
- 目录名获取
os.path.dirname()
- 文件拓展名获取
os.path.splitext()[1]
1
2
3
4path="/path/to/file/file.txt"
print("文件名:",os.path.basename(path))
>>>文件名: file.txt1
2
3
4path="/path/to/file/file.txt"
print("目录名:",os.path.dirname(path))
>>>目录名: /path/to/file1
2
3
4path="/path/to/file/file.txt"
print("文件拓展名:",os.path.splitext(path)[1])
>>>文件拓展名: .txt
- 文件名获取
计算绝对路径,相对路径,使用
os.path.join()
;os.path.relpath()
。1
2
3
4
5
6
7
8
9
10
11
12txt_path="/path/to/file/file.txt"
pic_path="/path/to/file/pic/file/my_pic.png"
pic_path_abs=os.path.dirname(pic_path)
print("绝对路径:",pic_path)
pic_path_rel=os.path.relpath(pic_path_abs,os.path.dirname(txt_path))
print("相对路径:",pic_path_rel)
pic_path_rel_withname=os.path.join(pic_path_rel,os.path.basename(pic_path))
print("相对路径带文件名:",pic_path_rel_withname)
>>>绝对路径: /path/to/file/pic/file/my_pic.png
>>>相对路径: pic\file
>>>相对路径带文件名: pic\file\my_pic.png使用
os.path.exists()
判断路径指向位置是否存在使用
os.path.isabs()
判断路径是否是绝对路径使用
os.path.isfile()
或者os.path.isdir()
判读是否是文件或者路径使用
os.rename(src,dst)
重命名文件或者路径使用
os.name
获得程序当前的运行环境(这是个属性),目前有posix,nt,java
拓展
./
在相对路径中表示当前目录,比如同一文件夹下有两个文件1.html和2.html。用<a href="./2.html">跳转到2.html</a>
。../
代表上一级文件夹../../
代表上上级文件夹,以此类推./下一级文件夹/.1html
下一级目录。
OS模块应用
http://example.com/2024/07/21/[python]OS模块应用/