python几种简单方便的文件 *** 作

python几种简单方便的文件 *** 作,第1张

前言

        本文将简单介绍几种python文件 *** 作的方法,如获取指定文件路径下的文件列表,批量修改指定文件路径下指定文件类型的文件名,批量转移指定文件路径下指定文件类型的文件,批量创建子文件夹。


*** 作方法 1.引入库
import os
2.获取指定文件路径下的文件列表
import os

path = input("3[1;36m请输入文件夹路径:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
path = path.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
files = os.listdir(path)
print(files)
3.批量修改指定文件路径下指定文件类型的文件名
import os

path = input("3[1;36m请输入文件夹路径:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
path = path.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
files = os.listdir(path)
print(files)                # 获取文件列表
change = input("3[1;36m请输入需要修改的文件类型以及插入内容如“png -备份”:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
suffix, add = change.split(" ")  # 拆分 获得目标文件后缀名和插入内容
for old in files:
    if old.rfind(f".{suffix}") != -1:    # 判断是否为目标文件后缀名
        index = old.rfind(f".{suffix}")
        new = old[:index] + add + old[index:]  # 插入内容
        os.rename(path + old, path + new)
files = os.listdir(path)      # 获取修改后的文件列表
print(files)                  # 打印修改后的文件列表
4.批量转移指定文件路径下指定文件类型的文件
import os

path = input("3[1;36m请输入文件夹路径:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
path = path.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
files = os.listdir(path)
print(files)                # 获取文件列表
change = input("3[1;36m请输入需要转移的文件类型以及转移路径如“png X:\photo\”:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
suffix, path2 = change.split(" ")  # 拆分 获得目标文件后缀名和插入内容
path2 = path2.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
if not os.path.isdir(path2):  # 判断输入路径是否为有效路径,如果不是就创建出来一个
    os.makedirs(path2)        # 这样只要你路径格式对了就一定能转移
for old in files:
    if old.rfind(f".{suffix}") != -1:      # 判断是否为目标文件后缀名
        old_file = open(path + old, 'rb')  # 读方式打开旧文件
        new = open(path2 + old, 'wb')      # 写方式打开新文件
        new.write(old_file.read())         # 旧文件写入新文件
        old_file.close()                   # 关闭旧文件
        os.remove(path + old)              # 删除旧文件
        new.close()                        # 关闭新文件
files = os.listdir(path2)      # 获取移动后的文件列表
print(files)
5.批量创建子文件夹
import os
path = input("3[1;36m请输入需要创建的文件夹列表的路径:3[0m")  # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
path = path.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
if not os.path.isdir(path):  # 判断输入路径是否为有效路径,
    os.makedirs(path)        # 如果不是就创建出来一个
count = int(input("3[1;36m请输入需要创建的子文件夹个数:3[0m")) # 获取路径,引号内为引导用户输入内容的,可自行编辑,这里我用了改变颜色,具体格式为“3[1;36m”需要改变颜色的字符串“3[0m”
for i in range(count):
    os.mkdir(path + "/" + f"子文件夹{i + 1}")  # 这里可以进一步循环嵌套
重点 1. 将路径中的"\"替换为“/”,避免系统误认为转义字符
path = path.replace("\", "/")   # 将路径中的"\"替换为“/”,避免系统误认为转义字符
2.判断输入路径是否为有效路径
if not os.path.isdir(path):  # 判断输入路径是否为有效路径,
    os.makedirs(path)        # 如果不是就创建出来一个
3.拆分输入内容
suffix, add = change.split(" ")  # 拆分 获得目标文件后缀名和插入内容
4.文件名修改
index = old.rfind(f".{suffix}")        # .的下标位置
new = old[:index] + add + old[index:]  # 插入内容 切片
os.rename(path + old, path + new)
5.获取目录列表
# 获取目录列表os.listdir(目录)
print(os.listdir())    # 不放参数,默认获取当前目录
6.删除文件夹
# “删除文件夹”:os.rmdir(文件夹名字)
os.rmdir(path + dir)
7.删除旧文件
os.remove(path + old)  # 删除旧文件

总结
      

           以上就是今天要讲的内容,本文简单介绍了一些常见的文件 *** 作,它能使我们快速便捷地处理文件。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/715812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存