欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python os 模块

程序员文章站 2024-03-24 12:20:34
...

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

https://www.cnblogs.com/juandx/p/4962089.html 这个网址很全面, 可以借鉴一下!!!

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

import os
result = os.getcwd()
print(result)
# 输出结果: F:\pythonProject\untitled\mywork\os模块

2、chdir() 改变当前工作目录

# os.chdir(r'F:\pythonProject\untitled\mywork\cc')
result = os.getcwd()
print(result)
# 输出结果:  F:\pythonProject\untitled\mywork\cc

3、listdir() 获取指定文件夹中所有内容的名称列表, 只返回当前目录下的文件和文件夹,不返回子文件夹中的目录或者文件

result = os.listdir(r'F:\pythonProject\untitled\mywork\os模块')

print(result)
# 输出结果: ['a', 'b', 'os.path模块1.py', 'os模块.py', 'text.py']

4、mkdir() 在当前路径下创建文件夹,文件夹已存在, 报错

# os.mkdir('girls') # 相对路径  从当前目录开始查找
# os.mkdir(r"F:\pythonProject\untitled\mywork\os模块\e")  # 绝对路径  从根目录开始查找

5、makedirs(绝对路径) 递归创建文件夹c\a\b, 文件夹已存在,会报错

# os.makedirs(r'F:\pythonProject\untitled\mywork\os模块\c\a\b')

6、rmdir() 删除空目录

# os.rmdir('boys')  # 删除当前文件路径下的空目录
# os.rmdir(r"F:\pythonProject\untitled\mywork\os模块\c")  # 删除指定路径下的空目录

7、rename() 文件或文件夹重命名

# os.rename('b', 'c')  # 文件夹的重命名
# os.rename('text.py', 'text1.py')  # 文件的重命名

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

print(os.sep)
# 输出结果: \

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

print(os.name)
# 输出结果:  nt
# posix -> linux或者unix系统      nt -> window系统

10、stat() 获取文件或者文件夹的信息

result = os.stat('text1.py')
print(result)
# 这个不怎么用
# 输出结果: os.stat_result(st_mode=33206, st_ino=46161896180672756, st_dev=3700059627, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1536627509, st_mtime=1536593681, st_ctime=1536594029)

11、system() 执行系统命令(危险函数)

# result = os.system('ls -al')   #获取隐藏文件
# print(result)
  • #环境变量
  • 环境变量就是一些命令的集合 操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合

1、getenv() 获取系统的环境变量

# result = os.getenv('PATH')
print(result)
# print(result.split(';'))

2、os模块中的常用值

# curdir  表示当前文件夹   .表示当前文件夹  一般情况下可以省略
print(123)
print(os.curdir)
# 输出结果: .

3、pardir 表示上一层文件夹 …表示上一层文件夹 不可省略!

print(os.pardir)
# 输出结果: ..

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

print(os.extsep)
# 输出结果:  .

5、linesep 获取操作系统的换行符号 window -> \r\n linux/unix -> \n

print(repr(os.linesep))
# 输出结果: '\r\n'

6、getsize() 获取文件的大小

path = 'text1.py'
result = os.path.getsize(path)
print(result)
# 输出结果: 0

7、islink() 检测是否是链接 # 是的 True, 否 的是 False

path = 'https://www.cnblogs.com/sunyang945/p/7900957.html'
result = os.path.islink(path)
print(result)
# 输出结果:  False

“”"
getctime() 获取文件的创建时间 get create time
getmtime() 获取文件的修改时间 get modify time
getatime() 获取文件的访问时间 get active time
“”"

import time
filepath = 'text1.py'

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))

"""
输出结果:
    Mon Sep 10 23:40:29 2018
    Mon Sep 10 23:34:41 2018
    Tue Sep 11 08:58:29 2018
"""

8、 samefile() 检测2个路径是否是同一个文件

path1 = ‘text1.py

path2 = r'F:\pythonProject\untitled\mywork\os模块\text1.py'
result = os.path.samefile(path1,path2)
print(result)
# 输出结果: True

9、 os.remove() 删除文件

# os.remove("a.py")  # 相对路径
# os.remove(r'F:\pythonProject\untitled\mywork\os模块\c\a.py') # 绝对路径

10、removedirs 递归删除文件夹 必须都是空目录 d\a 这两个都被删除

os.removedirs(r'F:\pythonProject\untitled\mywork\os模块\d\a')

11、 os.walk() 返回当前路径下所有的文件或者文件夹,包括子文件夹或者子文件

root 表示当前的根目录, dirs 表示当前的文件夹, files 表示当前的文件

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        print(os.path.join(root, name))
    for name in dirs:
        print(os.path.join(root, name))
  • 一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)即可,
    但是如果需要删除整个文件夹,且文件夹非空时使用os.removedirs(path)就会报错了,此时可以使用shutil库,该库为python内置库,是一个对文件及文件夹高级操作的库,可以与os库互补完成一些操作,如文件夹的整体复制,移动文件夹,对文件重命名等。

    import os
    import shutil

     os.remove(path)   #删除文件
     os.removedirs(path)   #删除空文件夹
     
     shutil.rmtree(path)    #递归删除文件夹
    

这个网上的例子也有很多,随便找一大吨,我练习了一遍,索性就发到csdn上,以后看自己的也行
这我提供个链接地址:https://www.cnblogs.com/sunyang945/p/7900957.html 我认为这个链接还是比较全面的

相关标签: os pthon