python- os模块

Python os模块详解
本文深入讲解Python的os模块,涵盖文件和目录操作的各种方法,如重命名、删除、创建目录等,并提供实战演练,帮助读者掌握os模块的高级应用。

目录

 

一.with

二.os模块及其基本方法

1.rename重命名

2.remove删除文件

3.mkdir创建目录

4.makedirs创建多级目录

5rmdir.删除目录

6.removedirs删除多级目录

7.getcwd获取当前所在目录

8.listdir获取目录列表

9.chdir切换所在目录

10.path.exits判断文件或者文件夹是否存在

11.path.isfile判断是否为文件

12.path.isdir判断是否为目录

13.path.abspath获取绝对路径

14.path.isabs判断是否为绝对路径

15path.basename.获取路径中的最后部分

16.path.dirname获取路径中的路径部分

17.path.join将多个目录组织成路径返回

三.练习(文件增前缀,删前缀,改文件名)


一.with

使用with方式操作文件,可以不用关闭文件,会自动关闭文件。

不用使用file.close()超级方便

二.os模块及其基本方法

对于文件的操作,我们还会遇见一个模块,就是os模块。接下来,我们对os模块基本的方法进行一个一个介绍。

我们对7.文件操作/file/c.txt进行操作

1.rename重命名

import os


os.rename('file/c.txt','file/a.txt')
已经改变:

2.remove删除文件

import os


os.remove('file/a.txt')

就没有了。

3.mkdir创建目录

创建目录。为防止大家看不清楚,我们创建一个新的文件夹

我们将在这个文件夹中操作

然后就出现了我们的目录

 

4.makedirs创建多级目录

import os
os.makedirs('d:/py/我们的文件测试/第一个目录多级目录/2/1')

5rmdir.删除目录

import os
os.rmdir('d:/py/我们的文件测试/第一个目录')

就没有了

6.removedirs删除多级目录

import os
os.removedirs('d:/py/我们的文件测试/第一个目录多级目录/2/1')

就没了

7.getcwd获取当前所在目录

import os
print(os.getcwd())

8.listdir获取目录列表

import os
print(os.listdir('d:/py/我们的文件测试/第一个目录'))

9.chdir切换所在目录

我在的目录:

我用程序将它切换:

import os
os.chdir('d:/py/6.模块')
print(os.getcwd())

现在所在目录:

10.path.exits判断文件或者文件夹是否存在

 

 

11.path.isfile判断是否为文件

我们先输入一个包进行判断

我们在输入一个文件判断:

import os
print(os.path.isfile('d:/py/我们的文件测试/第一个目录/1.py'))

 

 

12.path.isdir判断是否为目录

import os
print(os.path.isdir('d:/py/我们的文件测试/第一个目录'))

13.path.abspath获取绝对路径

import os
print(os.path.abspath('d:/py/我们的文件测试/第一个目录/1.py'))

14.path.isabs判断是否为绝对路径

import os
print(os.path.isabs('d:/py/我们的文件测试/第一个目录/1.py'))

15path.basename.获取路径中的最后部分

import os
print(os.path.basename('d:/py/我们的文件测试/第一个目录/1.py'))

16.path.dirname获取路径中的路径部分

import os
print(os.path.dirname('d:/py/我们的文件测试/第一个目录/1.py'))

17.path.join将多个目录组织成路径返回
 

 

 

 

三.练习(文件增前缀,删前缀,改文件名)

写一个函数,可以执行,修改文件的前缀,改文件名的操作

 

import time,os


def jiaqianzhui():
    a = input("请选择您需要进入的目录(绝对路径!):")
    os.chdir(a)
    print("正在获取当前目录...")
    time.sleep(1)
    a = os.getcwd()
    print("当前目录:", a)
    b = os.listdir(a)
    print("目录列表:", b)

    c = input("请输入您需要加前缀的文件名")
    d = input("请输入您需要加的前缀")
    if c in b:
        print('1')
        e = d+c
        print("名称修改成功:",e)

        os.rename(c,e)




def shanchuqianzhui():
    a = input("请选择您需要进入的目录(绝对路径):")
    os.chdir(a)
    print("正在获取当前目录...")
    time.sleep(1)
    a = os.getcwd()
    print("当前目录:", a)
    b = os.listdir(a)
    print("目录列表:", b)

    c = input("请输入您需要减前缀的文件名")
    d = input("请输入您需要减的前缀")
    try:
        if c in b:
            e = c.replace(d,'',1)
            os.rename(c, e)
    except Exception:
        print("文件输入有误!请重新输入")


def chongmingming():
    try:
        a = input("请选择您需要进入的目录(绝对路径):")
        os.chdir(a)
        print("正在获取当前目录...")
        time.sleep(1)
        a = os.getcwd()
        print("当前目录:", a)
        c = os.chdir(a)

        b = os.listdir(a)
        print("目录列表:", b)

        c = input("请输入您需要重新命名的文件(不再操作按0结束)")
        if c=='0':
            print("程序返回上一级")
            main()
        if c in b:
            d = input("请输入您改变后的文件名:")
            os.rename(c,d)
            print("重命名成功!")
        else:
            raise Exception("您输入的文件名不存在,或者存在其他错误!")
    except Exception as e:
        print(e)
        print("正在返回主程序......")
        main()
def main():
    print("欢迎来到文件操作管理系统")
    print('加载中,请稍后.....')
    time.sleep(2)
    while True:
        print("加载成功!")
        list=['退出系统','增加前缀','删除前缀','重新命名']
        for i,j in enumerate(list,start=0):
            print('[',i,']',j)
        list1 = [0,1,2,3]

        a = int(input("请输入您选择的功能序号"))
        if a in list1:
            if a==0:
                print("退出系统,请稍后...")
                time.sleep(2)
                print("退出成功!")
                break
            elif a==1:
                print("正在进入功能模块,请稍后...")
                jiaqianzhui()
            elif a==2:
                print("正在进入功能模块,请稍后...")
                shanchuqianzhui()
            else:
                chongmingming()
        else:
            print("您的输入有误!请重新输入!!!")
            continue
        break
main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值