当前位置:首页 » 《随便一记》 » 正文

python中os库用法详解(总结)

29 人参与  2023年04月03日 18:20  分类 : 《随便一记》  评论

点击全文阅读


        os库主要是对文件和文件夹进行操作,在Python中对⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能。

具体步骤如下:

1. 导⼊os模块

import os

2. 使⽤ os 模块相关功能

os.函数名()

1、⽂件重命名

os.rename(⽬标⽂件名, 新⽂件名)

示例代码:

import osa = os.getcwd()print(a)print(os.listdir())os.rename('./test_folder', './new_folder')print(os.listdir())

运行结果;

2、创建文件

os.mknod('./new_file.txt')    # Windows下不支持

示例代码:

import osprint(os.listdir())# 新建文件(windows系统不支持,报错)# os.mknod('./new_file.txt')# windows下新建文件f = open('./new_file2.txt', 'w', encoding='utf-8')f.close()

3、删除⽂件

os.remove(⽬标⽂件名)

示例代码:

import osa = os.getcwd()print(a)print(os.listdir())os.remove('./text.txt')print(os.listdir())

运行结果:

4、创建⽂件夹

os.mkdir(⽂件夹名字)

示例代码:

import osa = os.getcwd()print(a)print(os.listdir())os.mkdir('./test_folder')print(os.listdir())

运行结果:

详见博文:Python创建目录文件夹_IT之一小佬的博客-CSDN博客 

5、删除⽂件夹

os.rmdir(⽂件夹名字)

示例代码:

import osa = os.getcwd()print(a)print(os.listdir())os.rmdir('./test_folder')print(os.listdir())

运行结果:

6、获取当前⽬录

os.getcwd()

示例代码:

import osprint(os.getcwd())

 运行结果:

7、改变默认⽬录

os.chdir(⽬录)

8、获取⽬录列表

os.listdir(⽬录)

示例代码:

import osprint(os.listdir())

运行结果:

9、返回路径的上一级路径字符串

os.path.dirname(path)

示例代码:

import osa = os.getcwd()print(a)print(os.path.dirname('./aa/python_test'))print(os.path.dirname('./python_test'))print(os.path.dirname(a))

运行结果:

 

10、返回路径的最后一级目录名(文件夹名)或文件名(全称)

os.path.basename(path)

示例代码:

import osa = os.getcwd()print(a)print(os.path.basename(a))print(os.path.basename('./aa/python_test'))print(os.path.basename('./python_test'))

运行结果:

11、返回文件名和其后缀组成的元组

os.path.splitext(file_name)

示例代码:

import osa = os.getcwd()print(a)print(os.path.splitext(a))print(os.path.splitext('./aa/python_test'))print(os.path.splitext('./python_test'))print(os.path.splitext('./python_test.python'))

运行结果:

12、获取当前文件的绝对位置

os.path.abspath(__file__)

示例代码:

import oscurrent_path = os.path.abspath(__file__)print(current_path)current_folder = os.path.dirname(current_path)print(current_folder)

运行结果:

13、返回当前工作目录的路径加上string组成的路径字符串

 os.path.abspath(string)

示例代码:

import osa = os.getcwd()print(a)print(os.path.abspath(a))print(os.path.abspath('./aa/python_test'))print(os.path.abspath('./python_test'))print(os.path.abspath('./python_test.python'))

运行结果:

 14、判断一个路径是否是一个目录(文件夹)

os.path.isdir(path)

示例代码:

import osa = os.getcwd()print(a)print(os.path.isdir(a))print(os.path.isdir('./aa/python_test'))print(os.path.isdir('../111'))print(os.path.isdir('./python_test.python'))

运行结果:

 15、判断一个路径是否是一个文件

os.path.isfile(path)

示例代码:

import osa = os.getcwd()print(a)print(os.path.isfile(a))print(os.path.isfile('./aa/python_test'))print(os.path.isfile('../111'))print(os.path.isfile('./python_test.py'))print(os.listdir())

运行结果:

16、以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称

os.listdir(dir_path)

示例代码:

import osa = os.getcwd()print(a)print(os.listdir())print(os.listdir('E:/代码/111'))print(os.listdir('E:/代码/111/css'))

运行结果:

17、删除指定空目录(空文件夹)

 os.removedirs(dir_path)

示例代码1:

import osa = os.getcwd()print(a)print(os.listdir())os.removedirs('./new_folder')print(os.listdir())

运行结果:

示例代码2:   【必须是空文件夹】

import osa = os.getcwd()print(a)print(os.listdir())os.removedirs('./new_folder')print(os.listdir())

运行结果:

 18、判断一个路径是否存在

os.path.exists(path)

示例代码:

import osa = os.getcwd()print(a)if os.path.exists(a):    print('path exist!')else:    print('path not exist!')if os.path.exists('E:/代码/111'):    print('path exist!')else:    print('path not exist!')if os.path.exists('E:/代码/111/new_path'):    print('path exist!')else:    print('path not exist!')

运行结果:

19、返回path的真实路径

os.path.realpath(path)

示例代码:

import osa = os.getcwd()print(a)print(os.path.realpath('./python_test.py'))

运行结果:

20、路径拼接

os.path.join(path,name)

示例代码1:

import osa = os.getcwd()print(a)b = os.path.join(a, 'works')print(b)

运行结果:

示例代码2:

import osprint(os.path.join('xx', 'yy', 'zz'))print(os.path.join('AA', 'BB', 'CC', 'DD'))

运行结果:

21、返回一个路径的目录名和文件名 

os.path.split()

示例代码:

import osa = os.getcwd()print(a)print(os.path.split(a))print(os.path.split('E:/代码/111/index.html'))

运行结果:

 22、获得文件属性

os.stat(file)

示例代码:

import osa = os.getcwd()print(a)print(os.stat(a))print(os.stat('E:/代码/111/index.html'))

运行结果:

 23、获得文件大小

os.path.getsize(name)

示例代码:

import osa = os.getcwd()print(a)print(os.path.getsize(a))print(os.path.getsize('E:/代码/111/index.html'))

运行结果:

24、判断是否为绝对路径

os.path.isabs()

示例代码:

import osa = os.getcwd()print(a)print(os.path.isabs(a))print(os.path.isabs('E:/代码/111/index.html'))print(os.path.isabs('./index.html'))

运行结果:

25、获取环境变量中的值

        使用os获取环境变量的值,通常是使用os.getenv("value"),也可以使用os.environ.get("value")。也能够直接在settings等文件中设置环境变量,使用os.environ["key"] = "value"。

详解博文:python获取环境变量中的值(Pycharm)_IT之一小佬的博客-CSDN博客

26、随机生成n个字节的字符串

os.urandom(n)的作用就是随机生成n个字节的字符串,可以作为随机加密的key使用。

示例代码1:

import osaa = os.urandom(6)print(aa)bb = aa.decode('utf-8', 'ignore')print(bb)

运行结果:

示例代码2:

import osfor _ in range(5):    print(os.urandom(6))

运行结果:

27、文件和文件夹操作应⽤案例

需求:批量修改⽂件名,既可添加指定字符串,⼜能删除指定字符串。

步骤

        1. 设置添加删除字符串的的标识

        2. 获取指定⽬录的所有⽂件

        3. 将原有⽂件名添加/删除指定字符串,构造新名字

        4. os.rename()重命名

示例代码1:

import os# 获取指定⽬录dir_name = './'# 获取指定⽬录的⽂件列表file_list = os.listdir(dir_name)print(file_list)

运行结果:

 示例代码2:   【把flag=1改为flag=2即为删除功能】

import os# 设置重命名标识:如果为1则添加指定字符,flag取值为2则删除指定字符flag = 1# 获取指定⽬录dir_name = './'# 获取指定⽬录的⽂件列表file_list = os.listdir(dir_name)print(file_list)# 遍历⽂件列表内的⽂件for name in file_list:    # 添加指定字符    if flag == 1:        new_name = 'Python-' + name    # 删除指定字符    elif flag == 2:        num = len('Python-')        new_name = name[num:]    # 打印新⽂件名,测试程序正确性    print(new_name)    # 重命名    os.rename(dir_name + name, dir_name + new_name)

运行结果:

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/58238.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1