Python如何获取路径下不带后缀文件名
时间: 2024-06-14 22:02:13 浏览: 247
在 Python 中,你可以使用 `os` 和 `pathlib` 模块来处理文件和路径。如果你想要获取路径下不带后缀名的文件名,可以按照以下步骤操作:
```python
import os
from pathlib import Path
def get_filename_without_extension(path):
# 使用Path对象,它可以处理路径和文件名
path_obj = Path(path)
# 使用`.stem`属性获取文件名(不包括扩展名)
filename = path_obj.stem
return filename
# 示例用法
directory_path = "/path/to/your/directory"
file_path = os.path.join(directory_path, "example.txt") # 假设有一个名为example.txt的文件
basename = get_filename_without_extension(file_path)
print(basename) # 输出: example
```
在这个例子中,`get_filename_without_extension` 函数接收一个路径字符串,然后使用 `Path.stem` 来提取文件名部分,忽略了扩展名。
相关问题
python对于一个带后缀的图片名字,如何获得其不带后缀的名字
可以使用Python内置的`os`模块中的`os.path`子模块来处理路径。具体地,可以使用`os.path.splitext()`函数来分割文件名,返回文件名和文件扩展名。
例如,假设有一个图片文件名为`image.jpg`,可以使用以下代码获取不带后缀的文件名:
```python
import os
filename = 'image.jpg'
name_without_extension = os.path.splitext(filename)[0]
print(name_without_extension) # 输出:image
```
其中,`os.path.splitext()`函数会把文件名`image.jpg`分割为`image`和`.jpg`两部分,取第一部分即可得到不带后缀的文件名。
三个文件夹,每个下面有多个json文件,得到每个文件夹下不带后缀的文件名,列表保存,每一个文件夹单独存放,最后三个列表
可以使用Python的os模块和glob模块来实现。
首先,使用os模块列出当前目录下的所有文件夹,然后使用glob模块获取每个文件夹下的所有json文件路径。接着,使用os.path.splitext()函数获取文件名,最后将文件名添加到对应文件夹的列表中即可。
示例代码如下:
```python
import os
import glob
# 获取当前目录下的所有文件夹
folders = [f for f in os.listdir() if os.path.isdir(f)]
# 定义三个空列表用于保存文件名
folder1_files = []
folder2_files = []
folder3_files = []
# 遍历每个文件夹
for folder in folders:
# 获取文件夹下的所有json文件路径
json_files = glob.glob(os.path.join(folder, "*.json"))
# 遍历每个json文件
for json_file in json_files:
# 获取文件名(不带后缀)
filename = os.path.splitext(os.path.basename(json_file))[0]
# 将文件名添加到对应文件夹的列表中
if folder == "folder1":
folder1_files.append(filename)
elif folder == "folder2":
folder2_files.append(filename)
elif folder == "folder3":
folder3_files.append(filename)
# 打印结果
print("Folder 1 files:", folder1_files)
print("Folder 2 files:", folder2_files)
print("Folder 3 files:", folder3_files)
```
注意:上述代码假设当前目录下只有三个文件夹,且分别名为"folder1"、"folder2"和"folder3"。如果目录结构不同,需要根据实际情况修改代码。
阅读全文