python把当前文件名改成上级文件夹名+当前文件名
时间: 2023-09-20 15:08:16 浏览: 61
可以使用Python的os模块来实现将当前文件名改为上级文件夹名加上当前文件名的形式。具体实现代码如下:
```python
import os
# 获取当前文件所在目录的绝对路径
current_dir = os.path.abspath(os.path.dirname(__file__))
# 获取上级目录的名称
parent_dir_name = os.path.basename(os.path.abspath(os.path.join(current_dir, "..")))
# 获取当前文件的名称
file_name = os.path.basename(__file__)
# 构造新的文件名
new_file_name = parent_dir_name + '_' + file_name
# 将当前文件名改为新的文件名
os.rename(os.path.join(current_dir, file_name), os.path.join(current_dir, new_file_name))
```
这段代码会将当前文件名改为上级文件夹名加上当前文件名的形式,例如,如果当前文件名为`test.py`,当前文件所在目录为`/home/user/project/src`,则运行该代码后,文件名会被改为`project_src_test.py`。
相关问题
如何批量改文件里的图名改成文件夹名字
您可以使用 Python 编写脚本来批量修改文件中的图名。具体步骤如下:
1. 首先,使用 os 模块列出所有的文件。
2. 对于每个文件,使用字符串方法 split() 分割文件名,得到文件夹名和图名。
3. 将文件名中的图名替换为文件夹名。
4. 使用 os 模块的 rename() 函数将文件重命名。
下面是一个示例代码:
```python
import os
# 获取当前目录下的所有文件
files = os.listdir()
# 遍历每个文件
for file in files:
# 如果是文件夹,跳过
if os.path.isdir(file):
continue
# 获取文件名和文件扩展名
filename, ext = os.path.splitext(file)
# 分割文件名,得到文件夹名和图名
foldername, imagename = filename.split('_')
# 将图名替换为文件夹名
new_name = foldername + '_' + imagename + ext
# 重命名文件
os.rename(file, new_name)
```
以上代码中,假设文件名的格式是 `foldername_imagename.ext`,其中 `foldername` 是文件夹名,`imagename` 是图名,`ext` 是文件扩展名。代码将会遍历当前目录下的所有文件,如果是文件夹则跳过,否则按照上述步骤进行重命名。
python如何把csv文件的文件名改成以第一行第5列和第6列数据的组合作为文件名
可以按照如下方式修改csv文件的文件名:
```
import csv
import os
# csv文件所在的文件夹路径
folder_path = "/path/to/folder"
# 遍历文件夹中的所有csv文件
for file_name in os.listdir(folder_path):
if file_name.endswith(".csv"):
file_path = os.path.join(folder_path, file_name)
with open(file_path, "r") as f:
reader = csv.reader(f)
# 获取第一行的数据
first_row = next(reader)
# 获取第5列和第6列的数据作为新文件名
new_file_name = f"{first_row[4]}_{first_row[5]}.csv"
# 生成新文件路径
new_file_path = os.path.join(folder_path, new_file_name)
# 重命名文件
os.rename(file_path, new_file_path)
```
在上述代码中,我们首先通过遍历文件夹中的所有csv文件,对于每个csv文件,我们打开它并读取第一行数据。然后,我们从第一行数据中获取第5列和第6列的数据作为新文件名,并生成新的文件路径。最后,我们使用 `os.rename()` 函数将原文件重命名为新的文件名。