如何在 python 中提取文件名的中间部分?
How to extract the middle part of a filename in python?
我有一个类似模式的文件名:
"XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"
我想提取粗体部分。解决这个问题的方法是什么?
说明:
大多数文件都有这种模式:XC##### - 鸟类名称 - 鸟类种类。然而,有些文件有带连字符的单词,例如:XC22087 - Silky-tailed Nightjar - Antrostomus sericocaudatus
感谢大家的帮助。我不太熟悉使用文件扩展名,所以我真的很感激
您可以拆分一个字符:
filename.split('-')[1]
会给你Tui Parakeet
import os
filename = "XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"
os.path.splitext(filename)[0].split("-", 1)[1].strip()
给你"Tui Parakeet - Brotogeris sanctithomae"
我添加了 strip()
,因为我假设您对前导/尾随白色 spaces 不感兴趣。
如果您想将鸟名和鸟种拆分成单独的变量,您可以确保其中 none 个包含 " - "
(space 后跟破折号a space), 就可以了
bird_name, bird_species = os.path.splitext(filename)[0].split(" - ")[1:3]
试试这个:
middle_name = "XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"[10:-4]
我有一个类似模式的文件名: "XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"
我想提取粗体部分。解决这个问题的方法是什么?
说明: 大多数文件都有这种模式:XC##### - 鸟类名称 - 鸟类种类。然而,有些文件有带连字符的单词,例如:XC22087 - Silky-tailed Nightjar - Antrostomus sericocaudatus
感谢大家的帮助。我不太熟悉使用文件扩展名,所以我真的很感激
您可以拆分一个字符:
filename.split('-')[1]
会给你Tui Parakeet
import os
filename = "XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"
os.path.splitext(filename)[0].split("-", 1)[1].strip()
给你"Tui Parakeet - Brotogeris sanctithomae"
我添加了 strip()
,因为我假设您对前导/尾随白色 spaces 不感兴趣。
如果您想将鸟名和鸟种拆分成单独的变量,您可以确保其中 none 个包含 " - "
(space 后跟破折号a space), 就可以了
bird_name, bird_species = os.path.splitext(filename)[0].split(" - ")[1:3]
试试这个:
middle_name = "XC47566 - Tui Parakeet - Brotogeris sanctithomae.wav"[10:-4]