【发布时间】:2013-11-20 10:46:59
【问题描述】:
文件扩展名通常是最后一个句点之后的所有内容。如果文件名没有“.”,则它没有扩展名。当文件名以点开头时会发生什么,就像 linux 中的隐藏文件一样?
在python中,文件没有扩展名...
>>> os.path.splitext("base.ext")
('base', '.ext')
>>> os.path.splitext(".ext")
('.ext', '')
bash 中的常用方法会产生另一种结果,即只有扩展名而没有基础部分 (Extract filename and extension in Bash)...
>>> filename=".ext"
>>> extension="${filename##*.}"
>>> base="${filename%.*}"
>>> echo $base
>>> echo $extension
ext
代码应该如何处理这样的文件名?有标准吗?每个操作系统都不同吗?或者简单地说,哪个最常见/最一致?
[编辑]
假设您有一个只是“.pdf”的文件。例如,一个打开的对话是否应该默认列出它而不 1. 显示隐藏文件和 2. 允许所有文件扩展名?
- 这是一个隐藏文件 - 它以句点开头
- 它实际上是一个 .pdf(按照文件名约定,确定它有 pdf 数据)还是一个带有 no 扩展名的文件?
【问题讨论】:
标签: python bash filenames file-extension dotfiles