python - Python - 如果我不知道扩展名,如何在文件夹中找到文件?
问题描述
假设我有一个文件的完整路径,除了扩展名:
FileNoExt = "/Users/username/Desktop/song"
我需要检索包括文件扩展名的完整路径并将其传递给变量:
FileWithExt = "/Users/username/Desktop/song.mp3"
我在 stackexchange 上发现了很多类似的问题;但是,似乎没有一个答案有效。我在 macOS 上使用 PyCharm。
解决方案
您可以简单地使用glob
模块,例如,
>>> import glob
>>> file_wo_ext = '/home/xxx/python/doc'
>>> glob.glob(file_wo_ext + '*')
['/home/xxx/python/doc.comments', '/home/xxx/python/doc.fornow']
或者如果你习惯了pathlib
,你可以做类似的事情,
>>> import pathlib
>>> file_wo_ext = '/home/xxx/python/doc'
>>> p = pathlib.Path(file_wo_ext)
>>> p.parent
PosixPath('/home/xxx/python')
>>> p.stem
'doc'
>>> list(p.parent.glob(p.stem + '*'))
[PosixPath('/home/xxx/python/doc.comments'), PosixPath('/home/xxx/python/doc.fornow')]
推荐阅读
- facebook - Facebook 图表页面/帖子见解 - 权限错误
- python - 如何在python中将图像类型从GIF转换为PNG/JPG
- transactions - 错误:非数字(未知)预期类型 Double
- javascript - 创建 CVS 文件文本格式
- qt - 我必须如何使用“setValidator”
- java - 选择更有利可图的流结果
- docker - 使用本地文件在 Windows 上构建 docker 映像时使用 --squash 的替代方法
- python - 如何使用 Tensorflow 创建的检查点和相关文件?
- android - 迁移到 Android X 应用程序后崩溃 android.view.InflateException
- docker - 为什么 docker-compose 启动一个新的 IP 地址?