python的内置模块之os模块方法详解以及使用

时间:2021-12-03 03:11:40

1、getcwd()

获取当前工作路径

import os
print(os.getcwd())

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块

2、chdir()   改变当前工作路径

import os
print(os.getcwd())
os.chdir("test1")
print(os.getcwd())

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块

D:\pyproject\day21模块\test1

3、返回上级目录用..

import os
print(os.getcwd())
os.chdir("..")
print(os.getcwd())

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块

D:\pyproject

4、makedirs(可以建递归的目录)

新建文件夹

import os
os.makedirs("gouguoqi/gouguoqi1")
os.chdir("gouguoqi/gouguoqi1")
print(os.getcwd())

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块\gouguoqi\gouguoqi

5、mkdir   新建目录,只能建一层

import os
os.mkdir("gouguoqi")
os.chdir("gouguoqi")
print(os.getcwd())

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块\gouguoqi

6、removedirs  删除指定目录,如果指定目录为空就删除,如果上级目录也空,也删除。如果上级目录不空就不删,就像下面这个,gouguoqi目录里面有文件,则保留这个文件夹

import os
os.removedirs("gouguoqi/gouguoqi1")

7、rmdir 只能删除单级目录为空的文件夹

import os
os.rmdir("gouguoqi")

OSError: [WinError 145] 目录不是空的。: 'gouguoqi'

8、listdir    列出指定文件夹下面所有的文件夹和文件包括隐藏文件,以列表方式打印出来

import os
print(os.listdir("D:\pyproject\day21模块"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

['module-lesson.py', '文件修改功能.py', 'day21_lesson', 'time模块.py', 'random随机模块.py', 'basedir.py', 'os模块.py', 'test1', 'gouguoqi', '查询功能.py', '三级菜单.py', 'test.py', 'sed.py', 'haproxy.cfg']

9、remove   删除指定的一个文件

import os
os.remove("gouguoqi/test.py")

10、rename  修改文件夹名字或者是文件名字都可以

import os

os.rename("gouguoqi","gouguoqinew")

11、stat   查看一个文件的详细信息

import os
print(os.stat("gouguoqinew/testnew"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

os.stat_result(st_mode=33206, st_ino=15085150720, st_dev=75373296, st_nlink=1, st_uid=0, st_gid=0, st_size=28, st_atime=1528473600, st_mtime=1528552906, st_ctime=1528552713)

 

st_size=28    文件大小,单位是字节

st_atime=1528473600  用户上一次的访问时间

st_mtime=1528552906  用户上一次修改的时间(常用)

st_ctime=1528552713   用户的创建文件的时间

这个时间是时间戳,想要转换成我们能看懂的那种格式,还得转换下,比如用户创建文件时间是1528552713 转换为字符串时间
import time
time_local=time.localtime(1528552713)#时间戳转换为结构化时间
print(time.strftime("%Y-%m-%d %X",time_local))#将结构化时间转化为字符串时间

C:\python35\python3.exe D:/pyproject/day21模块/time模块.py

2018-06-09 21:58:33

12、sep  输出当前操作系统的路径分隔符

import os
print(os.sep)

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

\

13、linesep    输出当前操作系统的行终止符,win是\r\n   linux是\n

import os
print(os.linesep)

14、pathsep  输出用于分割文件路径的字符串win下为; linux下为:

import os
print(os.pathsep)

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

15、system  运行shell命令,直接显示结果

[root@localhost python]# cat os.system.py

#!/usr/bin/env  python

# _*_ coding:utf8 _*_

import os

os.system("cd /home && ls")

[root@localhost python]# python os.system.py

python                                src

16、os.path.split  把路径分为2部分  1个是目录路径 1个是文件名

import os
print(os.path.split(r"D:\pyproject\day21模块\gouguoqinew\test.py"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

('D:\\pyproject\\day21模块\\gouguoqinew', 'test.py'

17、os.path.dirname 拿split分割的第一个元素

         os.path.basename 拿split分割的第二个元素

import os
print(os.path.split(r"D:\pyproject\day21模块\gouguoqinew\test.py"))
print(os.path.dirname(r"D:\pyproject\day21模块\gouguoqinew\test.py"))
print(os.path.basename(r"D:\pyproject\day21模块\gouguoqinew\test.py"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

('D:\\pyproject\\day21模块\\gouguoqinew', 'test.py')

D:\pyproject\day21模块\gouguoqinew

test.py

18、os.path.exists 判断路径是否存在,存在为True,不存在为False

import os
print(os.path.exists("D:\pyproject\day21模块\gouguoqinew"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

True

19、os.path.isabs 如果是绝对路径就返回True,否则为False

import os
print(os.path.isabs("D:\pyproject\day21模块\gouguoqinew\gouguoqi1"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

True 

20、os.path.isfile 判断一个文件是否存在,存在为True,否则为False

import os
print(os.path.isfile(r"D:\pyproject\day21模块\gouguoqinew\test.py"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

True

21、os.path.isdir  判断一个目录是否存在,存在为True,否则为False

import os
print(os.path.isdir(r"D:\pyproject\day21模块\gouguoqinew"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

True

22、os.path.join  路径拼接(重要常用)

import os
a="D:\pyproject"
b="day21模块\gouguoqinew"
print(os.path.join(a,b))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

D:\pyproject\day21模块\gouguoqinew

23、os.path.getmtime  返回path的文件或者是路径的最后修改时间,结果是时间戳

import os
print(os.path.getmtime(r"D:\pyproject\day21模块\gouguoqinew\test.py"))

C:\python35\python3.exe D:/pyproject/day21模块/os模块.py

1528601360.0

然后将时间戳转化为结构化时间,在转化为字符串时间

import time
time_local=time.localtime(1528601360.0)#时间戳转换为结构化时间
print(time.strftime("%Y-%m-%d %X",time_local))#将结构化时间转化为字符串时间

C:\python35\python3.exe D:/pyproject/day21模块/time模块.py

2018-06-10 11:29:20