文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python必知必会 os 模块详解

2023-08-31 15:17

关注

文章目录

Python os 模块

os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性

注意 一定要使用 import os 而不是 from os import * 。这将避免内建的 open() 函数被 os.open() 隐式替换掉,因为它们的使用方式大不相同。

os模块的常用操作

import os
os.getcwd()
# 将工作目录切换到'D:/Pycharm'os.chdir('D:/Pycharm')  print(os.getcwd()) #D:\Pycharm
os.environ
os.getlogin()
os.name'''返回值的意思posix  Linux 和 Mac OSnt  Windowsjava  Java 虚拟机环境''' 
# 在当前目录下创建一个名为test的文件夹os.mkdir('test')# 报错内容# FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'test'
# 创建a文件夹,并且在a文件夹下创建b文件夹os.makedirs('a/b')
# 删除文件夹aos.rmdir('a') 
# 删除文件夹 文件夹 a及子文件夹bos.removedirs('a/b')
# 删除文件a.txtos.remove('a.txt')
# 将文件名b修改成文件名cos.rename('a/b','a/c')# 文件目录:  a/c c文件夹是a文件夹的子文件夹# 将文件c移动到和a同级目录下os.rename('a/c','c')# 文件目录:  a/c c文件夹是a文件夹的子文件夹 # 将文件c移动到和a同级目录下并改名为'newname'os.rename('a/c','newname')# 文件目录: a/c/w.txt# 将文件w.txt修改成ww.txros.rename('a/c/w.txt','a/c/ww.txt')# 同样也可以移动文件并重名的方式一样,用法和移动文件并重名的方式一样
# 重命名可以重命名中间路径(实际上是,先新建新的目录,然后判断原目录是否可以删除,如果可以删除,就删除)os.renames('a/b/a.txt','a/c/aaa.txt')

os.path模块

os.path中的函数基本上是纯粹的字符串操作。换句话说,传入该模块函数的参数甚至不需要是一个有效路径,该模块也不会试图访问这个路径,而仅仅是按照“路径”的通用格式对字符串进行处理

os.path
# 根据相对路径返回绝对路径print(os.path.abspath('a/c/aaa.txt'))
# 检查文件是否存在print(os.path.exists('a/c'))# 检查aaa.txt文件是否存在print(os.path.exists('a/c/aaa.txt'))
# 返回文件a最后的访问时间print(os.path.getatime('a'))t = os.path.getatime('a')  # 获取时间戳tupTime = time.localtime(t)  # 将时间戳转换成本地时间stadardTime = time.strftime("%Y-%m-%d %H:%M:%S", tupTime)  # 转换成对应的时间格式print(stadardTime) # 2022-09-18 11:44:28
# 获取aaa.txt文件的创建时间(windows)t = os.path.getctime('a/c/aaa.txt')
# 获取文件aaa.txt的大小os.path.getsize('a/c/aaa.txt')
a = os.path.split('D:/aa/bb')print(type(a))  # print(a)       #  ('D:/aa', 'bb')  头部和尾部# 当最后为’/‘时a = os.path.split('D:/aa/bb/')print(a)     # ('D:/aa/bb', '')  尾部为空# 当路径path中没有路径的时候 a = os.path.split('aa')print(a)  # ('', 'aa')  # 头部为空 # 当传入的路径为空时a = os.path.split( '')print(a)  # ('', '')  # 头部和尾部均为空
# 判断文件是否存在os.path.isfile('a/c/aaa.txt')
# 判断路径a/c是否存在os.path.isdir('a/c')

os.open()模块

注解 本函数适用于底层的 I/O。常规用途请使用内置函数 open(),该函数的 read() 和 write() 方法(及其他方法)会返回 文件对象。要将文件描述符包装在文件对象中,请使用 fdopen()。

os.open(file, flags[, mode])'''file 文件名flags  模式mode 可选参数, mode 设置其权限状态'''

在写入文件时不能直接写入字符串否则会报错TypeError: a bytes-like object is required, not 'str'

# 打开文件fd = os.open("foo.txt", os.O_RDWR|os.O_CREAT )  # 模式可以并存中间用 | 隔开# 写入字符串a = b"This is test"   os.write(fd,a)# 关闭文件os.close(fd)print("关闭文件成功!!")

最后的补充

最后如果忘记了os的用法可以使用内置的 dir() help() 函数来查看函数的用法
dir() 返回一个列表包括 os模块的所有函数名

print(dir(os))

help() 返回所有os模块的所有内容

print(help(os))

这样的结果看着确实有点不太人性化
在这里插入图片描述
使用help函数查看具体的函数使用方法

print(help(os.getcwd))print(help('os.getcwd'))   # 使用字符串也可以

返回函数的作用
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_52007481/article/details/126918076

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯