![]() |
1
18
例如,当我定义存储文件的目录时,我不包括尾随斜杠。那是因为我会像
在使用应该保存目录路径的变量之前,我将始终添加一个尾随斜杠。我认为最好总是加一个,而不是想知道是否包含了尾随斜杠。 |
![]() |
2
80
我使用斜杠是因为:
|
![]() |
3
9
是的,它应该,因为: 路径名+文件名=完全限定的文件位置。 所以最后一个目录和文件名之间的斜线应该在路径名的末尾或者文件名的开头。如果只想打开一个文件(即假定当前工作目录中有一个不合格的文件名),那么在文件名前面加上/意味着您需要考虑到这一点。 |
![]() |
4
5
每当我存储目录路径,或者从API返回它们时,我都会尝试遵守保留尾随斜杠的约定。这样可以避免整个“是文件还是目录”的模糊性。
补遗
:
|
![]() |
5
4
我知道这是一条古老的线索,但我想我会分享我的所作所为。如果可能的话,我通常会同时考虑这两种情况,并做类似的事情(如果它是php):
这样,如果目录是在配置文件中定义的,那么下一个更改目录的人是否包含尾随斜杠并不重要。 |
![]() |
6
4
在PHP中,因为dirname(uu file_uuu)函数返回的目录名末尾没有斜杠。我倾向于坚持那个惯例。 否则,在目录名末尾使用斜杠将与dirname(..)的工作方式冲突,然后您将无法处理这两种情况,因为您不知道目录名是来自dirname(..)函数还是由尾随斜杠定义的contant。 底线: 不要使用尾随斜杠,因为dirname(..)没有。
对于其他语言,请检查提取路径名的函数,并查看它是否使用了尾随斜杠,然后遵循该语言的约定。 |
![]() |
7
4
也许你应该考虑一下你的决定对文件意味着什么。如果不在 目录 名称您必须将其添加到 文件 姓名。
现在,如果由于某种原因,在连接字符串时缺少指向文件的路径,那么最终会得到如下结果:
这就是为什么我用斜杠结束我的路径,并将文件作为文件保存。 |
![]() |
8
3
我倾向于添加尾随斜杠,因为我很可能会使用该目录添加/检索文件… 在Web引用方面,它实际上可以提高性能,而将尾部斜杠留在 |
![]() |
9
2
是的,有许多文件系统支持没有任何扩展名的文件,所以总是添加尾随斜杠以避免任何问题。 |
![]() |
10
2
我知道这是10岁,但我想投入我非常固执己见的0.02美元。 不,不,绝对不。
我们讨论的是一个Unix系统。在目录本身的引用中,它和其他节点一样是一个节点。在引用目录时,它的名称中不应该有未转义的斜杠(参考:
当引用目录的内容时,
然后
你需要一个斜线。这就是说,
当使用包含目录的变量创建文件的完整路径时,您总是希望包含斜杠(即:
它是
预期
目录不能以斜杠结尾。对目录以斜杠结尾的任何期望都是错误的。因此在
值得注意的是,仅仅因为它是错误的,并不意味着工具/包/库永远不会这样做。在不应该存在的情况下,这种情况会添加一个尾随斜杠,这太常见了。因此,作为 Bevan 和 Paul F 两者都建议,在使用第三方工具时,最好删除目录名中可能存在的任何尾随斜杠。 UNIX节点
—— https://en.wikipedia.org/wiki/Inode 文件系统层次结构标准
这个
Unix文件系统的标准(文件系统层次结构标准,又名fhs)清楚地表明,目录不被认为有一个尾随斜杠,而是目录内容以斜杠开头(唯一的例外是
—— http://www.pathname.com/fhs/pub/fhs-2.3.html —— https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard |
![]() |
11
1
我从来没有见过一个坚定的惯例。 不过,很肯定的是,无论你决定什么,其他人都会百分之百地肯定这是另一种方式。所以,最好的办法就是容忍任何一种情况发生。 在.NET世界中,path.combine()为您提供了一种处理这一问题的方法—在其他环境中,从上到下都有类似的命令文件。 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 3 年前 |
![]() |
Peaceful · 使用fscanf读取C中具有未知行数的文件 3 年前 |
![]() |
NOCi · 如何将Tensorflow的结果记录到CSV文件 3 年前 |
![]() |
Oakzeh · 如何在字符串索引之前读取文件并删除字符 3 年前 |