如何从 Python 中的路径获取不带扩展名的文件名?

新手上路,请多包涵

如何从 Python 中的路径获取不带扩展名的文件名?

 "/path/to/some/file.txt"  →  "file"

原文由 Joan Venge 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

获取不带扩展名的文件名:

 import os
print(os.path.splitext("/path/to/some/file.txt")[0])

印刷:

 /path/to/some/file

os.path.splitext 的文档

重要提示: 如果文件名有多个点,则仅删除最后一个后的扩展名。例如:

 import os
print(os.path.splitext("/path/to/some/file.txt.zip.asc")[0])

印刷:

 /path/to/some/file.txt.zip

如果您需要处理这种情况,请参阅下面的其他答案。

原文由 Geo 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 Python 3.4+ 中使用 .stem 来自 pathlib

 from pathlib import Path

Path('/root/dir/sub/file.ext').stem

将返回

'file'

请注意,如果您的文件有多个扩展名 .stem 只会删除最后一个扩展名。例如, Path('file.tar.gz').stem 将返回 'file.tar'

原文由 mxdbld 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题