2022-08-24 12:30:35
浏览数 (1)
一:os类库介绍
os模块包含普遍的操作系统功能,如果你希望你的代码和平台无关,那这个模块会很重要。
二:常用方法介绍
代码语言:javascript
复制1.os.name
输出字符串:指正在使用的平台,如果是windows则用‘nt’表示,对于linux则用‘posix’
2.os.getcwd()
当前的工作目录
3.os.listdir()
返回指定目录下所有的文件和目录名
['.pytest_cache', 'test_001.py', 'test_002.py', 'test_003.py', 'test_004.py', 'test_005.py', 'test_006.py', 'test_007.py', 'test_008.py', 'test_009.py', '__init__.py', '__pycache__']
4.os.remove()
删除某个文件
5.os.system()
运行shell命令
os.system('cmd') 启动dos
6.os.sep 可以取代操作系统特定的路径分割符(没用过)
7.os.linesep字符串给出当前平台使用的行终止符
8.os.path.split('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001.py')
函数返回一个路径的目录名和文件名
('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https', 'test_001.py')
9.os.path.isfile()
函数检测给定的路径是否是文件
bool
10.os.path.isdir()
函数检测给定的路径是否是目录
bool
11.os.path.exists()
函数用来检验给出的路径是否存在
bool
12.os.path.abspath('test_008.py')
获得绝对路径
C:UsersAdministratorDesktopautomation_test02testcaseaaa_httpstest_008.py
13.os.path.getsize('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/')
4096
14.os.path.splitext('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001.py')
分离文件名与扩展名
('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001', '.py')
15.os.path.join('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/','test_001.py')
连接目录与文件名或者目录
C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001.py
16.os.path.basename('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001.py')
返回文件名
test_001.py
17.os.path.dirname('C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https/test_001.py')
返回文件路径
C:/Users/Administrator/Desktop/automation_test02/testcase/aaa_https
18.os.popen(command[, mode[, bufsize]])
给或从一个command打开一个管理。返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认) 或'w',bufsize参数,和内建的open()函数是同一个意思。 command返回的状态 (在wait()函数中编码) 和调用文件对象的close()返回值一样, 除非返回值是0(无错误终止), 返回None . 在unix,Windows中有效。
print('******************第2种执行dos命令并返回结果*********************')
result1=os.popen('dir').read()
print(result1)
19.拷贝目录
from shutil import copytree
# 拷贝 d:/tools/aaa 目录中所有的内容 到 e:/bbb 中
copytree('d:/tools/aaa', 'e:/new/bbb')
20.拷贝文件
from shutil import copyfile
# 拷贝 d:/tools/first.py 到 e:/first.py
copyfile('d:/tools/first.py', 'e:/first.py')
21.创建目录
import os
os.makedirs('tmp/python/fileop',exist_ok=True)
exist_ok=True 指定了,如果某个要创建的目录已经存在,也不报错
22.修改文件名
import os
# 修改目录名 d:/tools/aaa 为 d:/tools/bbb
os.rename('d:/tools/aaa','d:/tools/bbb')
# 修改文件名 d:/tools/first.py 为 d:/tools/second.py
os.rename('d:/tools/first.py','d:/tools/second.py')
注意,Linux 系统上,如果重命名之前 d:/tools/second.py 已经存在,则会被覆盖,所以使用该函数一定要小心。
三、open文件mode参数介绍
- 模式 描述
- t 文本模式 (默认)。
- x 写模式,新建一个文件,如果该文件已存在则会报错。
- b 二进制模式。
- ' 打开一个文件进行更新(可读可写)。
- U 通用换行模式(不推荐)。
- r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
- r 打开一个文件用于读写。文件指针将会放在文件的开头。
- rb 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
- w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- w 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。