os类库常用操作

举报
建帅小伙儿 发表于 2022/09/25 02:07:24 2022/09/25
【摘要】 一:os类库介绍 os模块包含普遍的操作系统功能,如果你希望你的代码和平台无关,那这个模块会很重要。 二:常用方法介绍 1.os.name 输出字符串:指正在使用的平台,如果是windows则用‘nt’表示,对于linux则用‘posix’ 2.os.getcwd() 当前的工作目录 3.os.lis...

一:os类库介绍

os模块包含普遍的操作系统功能,如果你希望你的代码和平台无关,那这个模块会很重要。

image-1654480348509

image-1654480361246

image-1654480381031

二:常用方法介绍

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:\Users\Administrator\Desktop\automation_test02\testcase\aaa_https\test_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+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837469

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。