gpt4 book ai didi

javascript - 不同编程语言中的所有文件路径是否都遵循相同的原则/约定

转载 作者:行者123 更新时间:2023-11-28 14:56:26 27 4
gpt4 key购买 nike

我发现开始编程时最大的挑战之一是掌握文件路径。例如,当您引用目录结构中同一级别的文件夹中的路径时,您将看到:

/folder/style.css 或

文件夹/style.css等

当您引用不同的文件时,所有编程语言的原则是否相同?是否有任何命名约定或陷阱需要注意?

为什么当您升级时有时会看到一个点“./”,有时会看到一个双点“../”?

我似乎找不到任何关于此的教程,我猜这可能是计算机科学类(class)中的标准内容之一,但如果您自己的话,很难获得具体信息-自学/自学。

艾米丽。

最佳答案

不同语言中的文件路径约定并不相同。

像 C 这样的老语言根本就没有任何约定。他们只是暴露了操作系统的 API。例如,类 Unix 操作系统上的绝对路径可能是 /usr/chewy/stuff.txt,而在 Windows 上则可能是 C:\Users\chewy\stuff.txt >.

他们这样做主要有两个原因:首先,这是更容易做的事情,其次(更重要的是)是让用户在使用用该语言编写的程序时使用他们在操作系统上学到的约定。 Unix 用户不会期望需要输入 Windows 样式路径,同样,Windows 用户会期望文件路径看起来像 Windows 文件路径。

在一些较新的语言中,默认文件路径是 Unix 风格的 /a/b/c。它们仍然支持 Windows 样式路径,但用户也可以在 Windows 上输入 unix 样式路径,并且它仍然有效(在大多数情况下 / 映射到 C:\ 除非显式更改,例如F:/ 将映射到 F:\)。

在一些更新的语言中甚至更进一步。它们对文件路径使用 URI 语法,因此在内部您会看到 file://home/chewy/stuff.txt。这几乎同时从两个方向发展:基于网络的软件,如网络浏览器和 Plan 9 操作系统(诚然,Plan 9 也可能受到网络开发的影响)。

相对路径

语言如何处理相对路径取决于它支持的约定类型。对于没有约定相对路径的语言,其工作方式与您的操作系统上的工作方式相同。因此,对于 Windows,您需要学习 Windows 文件路径约定,对于 Unix,您需要学习 unix 文件路径约定。

对于内部标准化 unix 样式文件路径的语言,它们也会实现 unix 文件路径约定。然而,并非所有语言都实现所有标准 UNIX 约定。例如,Tcl 支持 ~ 来引用用户的主目录,但大多数其他语言不支持。

对于使用 URI 语法的语言,您需要了解 URI 如何处理相对路径。它实际上包含在定义 URI 语法的 RFC 中: https://www.rfc-editor.org/rfc/rfc3986

通用约定

.. 文件指的是 Unixen、Windows 甚至 URI 语法中的父目录。因此,无论语言或操作系统如何,您都会经常看到这种情况。

路径开头的 . 指的是 Unix 和 Windows 上的当前工作目录。在 URI 语法中,. 只是从路径中删除。

进一步阅读

我强烈建议您了解操作系统的文件路径约定。十年前,我不会期望有人会问这个问题,因为如果他们可以访问网站,那么他们就会知道如何导航文件系统。这些天我很少看到Windows用户访问cmd.com(还叫cmd.com吗?)。

此外,我还建议学习 URI 语法,因为这是我经常看到初学者误解的事情之一。

关于javascript - 不同编程语言中的所有文件路径是否都遵循相同的原则/约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42662212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com