python之os模块

os模块

os模块就是对操作系统进行操作,使用该模块必须先导入模块:
import os


示例

1、os.getcwd()  # 获取当前工作目录,即当前python脚本工作的目录路径
2、os.chdir("dirname")  # 改变当前脚本工作目录;相当于shell下cd
3、os.curdir  # 返回当前目录: ('.')
4、os.pardir  # 获取当前目录的父目录字符串名:('..')
5、os.makedirs('dirname1/dirname2')    # 可生成多层递归目录
6、os.removedirs('dirname1')    # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
7、os.mkdir('dirname')    # 生成单级目录;相当于shell中mkdir dirname
8、os.rmdir('dirname')    # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9、os.listdir('dirname')    # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10、os.remove()  # 删除一个文件
11、os.rename("oldname","newname")  # 重命名文件/目录
12、os.stat('path/filename')  # 获取文件/目录信息
13、os.sep    # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14、os.linesep    # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
15、os.pathsep    # 输出用于分割文件路径的字符串 win下为;,Linux下为:
16、os.name    # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
17、os.system("bash command")  # 运行shell命令,直接显示
18、os.environ  # 获取系统环境变量
19、os.path.abspath(path)  # 返回path规范化的绝对路径
20、os.path.split(path)  # 将path分割成目录和文件名二元组返回
21、os.path.dirname(path)  # 返回path的目录。其实就是os.path.split(path)的第一个元素
22、os.path.basename(path)  # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23、os.path.exists(path)  # 如果path存在,返回True;如果path不存在,返回False
24、os.path.isabs(path)  # 如果path是绝对路径,返回True
25、os.path.isfile(path)  # 如果path是一个存在的文件,返回True。否则返回False
26、os.path.isdir(path)  # 如果path是一个存在的目录,则返回True。否则返回False
27、os.path.join(path1[, path2[, ...]])  # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
28、os.path.getatime(path)  # 返回path所指向的文件或者目录的最后存取时间
29、os.path.getmtime(path)  # 返回path所指向的文件或者目录的最后修改时间

os模块常用的几种方法

1、getcwd()

获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)

result = os.getcwd()
print(result)
2、chdir()

改变当前工作目录(相当于shell下cd)

os.chdir('/home/sy')
result = os.getcwd()
print(result)
open('02.txt','w')

操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作

open('/home/sy/下载/02.txt','w')
3、curdir

表示当前文件夹 .表示当前文件夹 一般情况下可以省略(返回当前目录: (’.’))

print(os.curdir)
4、pardir

获取当前目录的父目录字符串名:(’…’)

print(os.pardir)
5、makedirs()

递归创建文件夹,可生成多层递归目录

os.makedirs('/home/sy/a/b/c/d')
6、removedirs

若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.removedirs('/home/sy/a/b/c/d')
7、mkdir()

生成单级目录;相当于shell中mkdir dirname

os.mkdir('girls')
os.mkdir('boys',0o777)
8、rmdir()

删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.rmdir('girls')
9、listdir()

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

result = os.listdir('/home/sy')
print(result)
11、rename()

文件或文件夹重命名

os.rename('/home/sy/a','/home/sy/alibaba'
os.rename('02.txt','002.txt')
12、stat()

获取文件或者文件夹的信息

result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
print(result)
    st_mode: inode 保护模式
    st_ino: inode 节点号。
    st_dev: inode 驻留的设备。
    st_nlink: inode 的链接数。
    st_uid: 所有者的用户ID。
    st_gid: 所有者的组ID。
    st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
    st_atime: 上次访问的时间。
    st_mtime: 最后一次修改的时间。
    st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)
13、sep

获取系统路径间隔符号 window ->\ linux ->/

print(os.sep)
14、linesep

获取操作系统的换行符号 window -> \r\n linux/unix -> \n(输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n")

print(repr(os.linesep))
17、system()

执行系统命令(危险函数)(运行shell命令,直接显示)

result = os.system('ls -al')  #获取隐藏文件
print(result)
18、getenv()

获取系统的环境变量

result = os.getenv('PATH')
print(result.split(':'))
18、putenv()

将一个目录添加到环境变量中(临时增加仅对当前脚本有效)

os.putenv('PATH','/home/sy/下载')
os.system('syls')
exit()

退出终端的命令

os.mkdir(’…/…/…/man’)

相对路径 从当前目录开始查找

os.mkdir(’/home/sy/man1’)

绝对路径 从根目录开始查找

name

获取代表操作系统的名称字符串

print(os.name) #posix -> linux或者unix系统  nt -> window系统
extsep

获取文件名称和后缀之间的间隔符号 window & linux -> .

print(os.extsep)

以下内容都是os.path子模块中的内容

19、abspath()

将相对路径转化为绝对路径

path = './boys'#相对
result = os.path.abspath(path)
print(result)
20、split()

将一个完整的路径切割成目录部分和主体部分

path = '/home/sy/boys'
result = os.path.split(path)
print(result)
21、dirname()

获取完整路径当中的目录部分

path = '/home/sy/boys'
result = os.path.dirname(path)
print(result)
#/home/sy
22、basename()

获取完整路径当中的主体部分

path = '/home/sy/boys'
result = os.path.basename(path)
print(result)
#/boys
23、exists()

检测某个路径是否真实存在

filepath = '/home/sy/下载/chls'
result = os.path.exists(filepath)
print(result)
24、isabs()

检测一个路径是否是绝对路径

path = '/boys'
result = os.path.isabs(path)
print(result)
samefile()

检测2个路径是否是同一个文件

path1 = '/home/sy/下载/001'
path2 = '../../../下载/001'
result = os.path.samefile(path1,path2)
print(result)
27、join()

将2个路径合并成一个

var1 = '/home/sy'
var2 = '000.py'
result = os.path.join(var1,var2)
print(result)
splitext()

将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀

path = '/home/sy/000.py'
result = os.path.splitext(path)
print(result)

('/home/sy/000', '.py')
getsize()

获取文件的大小

path = '/home/sy/000.py'
result = os.path.getsize(path)
print(result)
25、isfile()

检测是否是文件

path = '/home/sy/000.py'
result = os.path.isfile(path)
print(result)
26、isdir()

检测是否是文件夹

result = os.path.isdir(path)
print(result)
islink()

检测是否是链接

path = '/initrd.img.old'
result = os.path.islink(path)
print(result)
28、getatime()

获取文件的访问时间 get active time

getctime()

获取文件的创建时间 get create time

29、getmtime()

获取文件的修改时间 get modify time

import time

filepath = '/home/sy/下载/chls'

result = os.path.getctime(filepath)
print(time.ctime(result))

result = os.path.getmtime(filepath)
print(time.ctime(result))

result = os.path.getatime(filepath)
print(time.ctime(result))
os.environ

用于获取和设置系统环境变量的内置值

import os
#获取系统环境变量  getenv() 效果
print(os.environ['PATH'])
putenv()

设置系统环境变量

os.environ['PATH'] += ':/home/sy/下载'
os.system('chls')
  • 10
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值