os类库常用操作

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参数介绍

  1. 模式 描述
  2. t 文本模式 (默认)。
  3. x 写模式,新建一个文件,如果该文件已存在则会报错。
  4. b 二进制模式。
  5. ' 打开一个文件进行更新(可读可写)。
  6. U 通用换行模式(不推荐)。
  7. r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
  8. rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
  9. r 打开一个文件用于读写。文件指针将会放在文件的开头。
  10. rb 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
  11. w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  12. wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
  13. w 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  14. wb 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
  15. a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  16. ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  17. a 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  18. ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

0 人点赞