一. os模块概述 python os模块提供了非常丰富的方法用来处理文件和目录 二. 导入os模块: import os 三. 常用方法 1. os.name 输出字符串表示正在使用的平台,如果是windows则用"nt"表示,如果是
一. os模块概述
python os模块提供了非常丰富的方法用来处理文件和目录
二. 导入os模块:
import os三. 常用方法
1. os.name 输出字符串表示正在使用的平台,如果是windows则用"nt"表示,如果是Linux/Unix,是"posix"
import osprint(os.name)
结果:
nt
2. os.getcwd() 得到当前的工作目录,即当前python脚本工作的目录路径
import osprint(os.getcwd())
结果:
D:\python_workshop\python6\study
3. os.listdir(path) 以列表的形式返回指定目录下的所有文件和目录名
import osdirs = os.listdir(r"D:\python_workshop\python6")
print(dirs)
for file in dirs:
print(file)
结果:
['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']
.idea
alice.txt
homeworks
lessons
personal_practices
study
url.txt
4. os.mkdir(path, [mode]) 创建一个目录,默认mode是0777
import ospath = "./test"
os.mkdir(path, 0o755)
print("目录已创建")
结果:
目录已创建
5. os.makedirs(path) 创建一系列目录,递归的创建
import ospath = "./test/android_app/auto_test"
os.makedirs(path, 0o755)
print("递归目录已创建")
结果:
递归目录已创建
6. os.remove() 删除一个文件
import ospath = "../"
print("移除前的目录文件为:", os.listdir(path))
os.remove("../math.txt")
print("移除后的目录文件为: ", os.listdir(path))
结果:
移除前的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'math.txt', 'personal_practices', 'study', 'url.txt']
移除后的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']
7. os.rmdir() 删除空目录,目录非空时删除会报错OSError
import ospath = "../"
print("删除前的目录文件为: ", os.listdir(path))
os.rmdir("../test")
print("删除后的目录文件为: ", os.listdir(path))
结果:
删除前的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'test', 'url.txt']
删除后的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']
注意:递归的删除目录可用shutil.rmtree(path),但必须先import shutil
8. os.environ.get("path") 获取环境变量值
import osprint(os.environ.get("path"))
结果:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;D:\Program\python34;D:\Program\python34\Scripts;D:\Program\python34\Lib;D:\Program\python34\PyInstaller-3.3.1;D:\Program\python34\lib\site-packages\pywin32_system32
9. os.system(command) 运行系统命令
import osos.system('echo "hello world!"')
结果:
"hello world!"
四. os模块path方法
1. os.path.join(path, name) 连接目录与文件名或目录
import ospath = "D:\\python_workshop"
name = "hello_world" #可以是不存在的目录或文件名
print(os.path.join(path, name))
结果:
D:\python_workshop\hello_world
2. os.path.isfile(path)和os.path.isdir(path)函数分别检验给出的路径是一个文件还是目录,存在返回True,否则为False
import ospath = "./url.txt"
print(os.path.isfile(path))
path = "../python6"
print(os.path.isdir(path))
结果:
False
False
3. os.path.exists(path) 用来检验给出的路径是否真的存在,存在返回True,否则为False
import ospath = "../test"
print(os.path.exists(path))
结果:
True
4. os.path.split(path) 返回一个路径的目录名和文件名(可以是目录可以是文件,如果最后一个是目录,则为目录名)
import ospath = r"D:\python_workshop"
print(os.path.split(path))
结果:
('D:\\', 'python_workshop')
5. os.path.splitext(path)分离文件名与扩展名(路径不是真实存在的也行)
import ospath = r"D:\python_workshop\python6\lesson1.py"
print(os.path.splitext(path))
结果:
('D:\\python_workshop\\python6\\lesson1', '.py')
6. os.path.dirname(path) 返回文件路径(注意不是文件的完整路径)
import ospath = r"D:\python_workshop\python6"
print(os.path.dirname(path))
结果:
D:\python_workshop
7. os.path.basename(path) 返回最后的文件名
import ospath = r"D:\python_workshop\python6"
print(os.path.basename(path))
结果:
python6
8. os.path.getsize(name) 获得文件大小,如果name是目录返回OL
import osname = r"D:\python_workshop\1.txt"
print(os.path.getsize(name))
name = r"D:\python_workshop"
print(os.path.getsize(name))
结果:
197
4096