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