python 批量修改文件名并打印文件路径
时间: 2023-10-17 07:31:50 浏览: 143
t.py\"
代码示例:
```
import os
str1 = "d:\\软件\\python\\python39\\tools\\script.py"
# 分离文件路径
file_path = os.path.dirname(str1)
print("文件路径:", file_path)
# 分离文件名及扩展名
file_name = os.path.basename(str1)
print("文件名及扩展名:", file_name)
# 分离文件扩展名
file_ext = os.path.splitext(str1)[1]
print("文件扩展名:", file_ext)
```
输出结果:
```
文件路径: d:\软件\python\python39\tools
文件名及扩展名: script.py
文件扩展名: .py
```
相关问题
python批量修改文件名,替换文件名称,添加文件名前缀,使用class实现完整代码
以下是使用Python class实现批量修改文件名的完整代码:
```python
import os
class BatchRename:
def __init__(self, path, prefix="", suffix="", replace_dict=None):
self.path = path
self.prefix = prefix
self.suffix = suffix
self.replace_dict = replace_dict
def rename(self):
for filename in os.listdir(self.path):
# 获取文件的完整路径
file_path = os.path.join(self.path, filename)
# 判断是否是文件,不是文件则跳过
if not os.path.isfile(file_path):
continue
# 替换文件名中的字符串
if self.replace_dict:
for key, value in self.replace_dict.items():
filename = filename.replace(key, value)
# 添加前缀和后缀
filename = self.prefix + filename + self.suffix
# 获取文件的后缀名
ext = os.path.splitext(filename)[-1]
# 生成新的文件名
new_filename = str(hash(filename)) + ext
# 重命名文件
os.rename(file_path, os.path.join(self.path, new_filename))
if __name__ == '__main__':
# 设置路径及参数
path = "/path/to/folder"
prefix = "prefix_"
suffix = "_suffix"
replace_dict = {"old_str": "new_str"}
# 实例化BatchRename类并调用rename方法
renamer = BatchRename(path, prefix, suffix, replace_dict)
renamer.rename()
```
以上代码中,BatchRename类的构造函数接收四个参数,分别是文件夹的路径(path)、文件名前缀(prefix)、文件名后缀(suffix)和需要替换的字符串字典(replace_dict)。rename方法遍历文件夹中的所有文件,根据参数进行文件名的修改。其中,使用了hash函数生成新的文件名,以避免重名问题。
python批量更改文件名
你可以使用 Python 的 os 模块中的 rename() 方法来批量更改文件名。以下是示例代码:
```python
import os
def batch_rename(path, old_str, new_str):
"""
批量重命名文件名中包含指定字符串的文件
:param path: 文件夹路径
:param old_str: 需要替换的字符串
:param new_str: 新的字符串
"""
for file in os.listdir(path):
if old_str in file:
old_path = os.path.join(path, file)
new_file = file.replace(old_str, new_str)
new_path = os.path.join(path, new_file)
os.rename(old_path, new_path)
# 调用示例
batch_rename('/path/to/your/files', 'old', 'new')
```
你需要将路径、需要替换的字符串和新的字符串作为参数传递给 batch_rename() 函数即可。
注意:由于这个任务涉及到操作文件,建议在执行前备份重要文件。
阅读全文