python(10):批量修改文件名、获取脚本所在目录

1. 使用Python的字符串操作来去除文件名高位的多余零

说明

一个目录下的文件名是6位数字序号加上后缀的格式,例如 000001.txt000002.jpg000003.csv,你可以使用Python的字符串操作来去除高位的多余零。

代码

下面是一个示例代码:

import os

directory = '/path/to/directory'  # 替换为你的目录路径

# 获取目录下所有文件名
filenames = os.listdir(directory)

# 遍历文件名并去除高位多余的零
for filename in filenames:
    basename, extension = os.path.splitext(filename)
    new_filename = basename.lstrip('0') + extension
    old_path = os.path.join(directory, filename)
    new_path = os.path.join(directory, new_filename)
    os.rename(old_path, new_path)

在上述代码中,我们首先使用 os.listdir 函数获取目录下的所有文件名。然后,对每个文件名进行处理。通过 os.path.splitext 函数,我们将文件名拆分为基本名称和扩展名。接下来,使用 lstrip 函数去除基本名称前面的多余零,并将其与扩展名重新组合成新的文件名。最后,使用 os.rename 函数将原始文件名修改为新的文件名。

注意:在使用代码之前,请确保备份目录中的文件,以免意外修改导致数据丢失。

示例

操作前
在这里插入图片描述

操作后
在这里插入图片描述

2. 将文件夹中的文件重命名为递增的数字加上原始文件名的后缀

使用Python中的os模块来遍历文件夹中的文件,并使用os.rename函数来进行文件重命名。下面是一个示例代码,展示了如何将文件夹中的文件重命名为递增的数字加上原始文件名的后缀:

代码

import os

folder_path = 'path/to/folder'  # 文件夹路径

file_list = os.listdir(folder_path)  # 获取文件夹中的文件列表
file_list.sort()  # 按照文件名排序

for i, file_name in enumerate(file_list, start=1):
    file_extension = os.path.splitext(file_name)[1]  # 获取文件名后缀
    new_file_name = f"{i}{file_extension}"  # 新的文件名
    
    old_file_path = os.path.join(folder_path, file_name)  # 原始文件路径
    new_file_path = os.path.join(folder_path, new_file_name)  # 新的文件路径
    
    os.rename(old_file_path, new_file_path)  # 执行文件重命名操作

在上述代码中,需要将 'path/to/folder' 替换为要进行重命名的文件夹的实际路径。代码首先使用 os.listdir 函数获取文件夹中的文件列表,并使用 sort 方法对文件列表按文件名进行排序。然后,通过遍历文件列表,并使用 enumerate 函数以及 start=1 参数设置起始编号为1,依次获取文件名和索引值。使用 os.path.splitext 函数获取文件名的后缀,并将编号和后缀拼接成新的文件名。最后,使用 os.rename 函数将原始文件重命名为新的文件名。

请确保在运行代码之前,提前备份好文件夹中的文件,以防止意外的数据丢失。

运行前后:

在这里插入图片描述
在这里插入图片描述

3. 使用Python获取脚本所在目录以及相关目录

要获取Python脚本文件所在目录以及上一级目录下的文件"a.txt"的地址,可以使用以下代码:

import os

# 获取当前脚本文件所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))

# 获取上一级目录
parent_dir = os.path.dirname(script_dir)

# 构建文件"a.txt"的完整路径
file_a_path = os.path.join(parent_dir, "a.txt")

print("脚本文件所在目录:", script_dir)
print("上一级目录下的a.txt文件地址:", file_a_path)

这段代码首先使用os.path.abspath(__file__)获取当前脚本文件的绝对路径,然后使用os.path.dirname()获取脚本所在目录的路径。接着,通过两次os.path.dirname()调用,可以获取上一级目录的路径。最后,使用os.path.join()构建文件"a.txt"的完整路径,得到所需的地址。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值