最近我安装了Python 3.7,在安装结束时,有一个选项是“禁用路径长度限制”,但我不知道是否应该这样做。
这样做的利弊是什么?仅从名称上看,似乎应该总是将其禁用。
最近我安装了Python 3.7,在安装结束时,有一个选项是“禁用路径长度限制”,但我不知道是否应该这样做。
这样做的利弊是什么?仅从名称上看,似乎应该总是将其禁用。
我建议选择该选项,从而去除路径长度限制。这可能会在将来节省您调试可避免问题的时间。
以下是我如何了解此事的轶事:
在编译我的程序(Windows机器上的C#代码)期间,我开始收到以下错误:
error MSB3541: Files has invalid value "long\path\filename". The specified path,
file name, or both are too long. The fully qualified file name must be less than
260 characters, and the directory name must be less than 248 characters.
回答你的两个问题:
简单来说,这并不那么重要,因为这只在处理超过260个字符的路径时才有影响,而大多数人并不会这样做。
例如,我曾经在具有以下路径的团队中工作,如果允许它们使用更长的名称,则会导致文件路径变得不太可读:
c:/project_name/unity/files/assets/UI/UI_2.0/levelname/season2_levelname/release_season2_levelname_ui_2/PROJECT_S2_MENU_UI/PROJECT_S2_hover_button_shadow_ui/PROJECT_S2_hover_button_shadow_ui_blue/PROJECT_S2_hover_button_shadow_ui_blue.asset
要理解优缺点,有助于了解路径长度限制是什么。
您可能已经知道,Windows路径是一个字符串,表示在哪里找到文件或文件夹。
例如:C:\Program Files\7-Zip
更长的文件夹或文件名会导致更长的字符串。
例如:C:\Program Files\Microsoft Update Health Tools
更多的文件夹位于其他文件夹中也会导致更长的字符串
例如:C:\Program Files\Microsoft Update Health Tools\Logs
如果您有许多嵌套在一起的文件夹,名称又很长,那么在尝试在代码中使用此路径时,可能会遇到错误。
这是因为Windows有一种路径长度限制。 Windows 10中的更新允许您禁用此限制。但它默认情况下并不这样做。
禁用此限制可以使计算机在没有错误的情况下使用更长的路径。
旧的Windows API承诺,如果您正确编写了应用程序,它将在未来继续运行。
如果Windows允许文件名长于260个字符,则您现有的应用程序(使用windows API正确)将会失败。
微软确实创建了一种使用完整的32,768个路径名的方法; 但是他们必须创建一个新的API合同才能做到这一点。这是Windows 10的更新。
阅读更多关于为什么要这样做。
"禁用路径长度限制"选项是指Windows可以处理的文件路径的最大长度。禁用此限制可以允许更长的文件路径,这对于处理名称非常长或存储在深层目录中的文件非常有用。但是,它也可能会导致与某些程序的兼容性问题,特别是那些可能不支持长文件路径的旧程序。
一般来说,除非您有特定需要,否则通常不必禁用路径长度限制。如果您不确定是否需要它,请将其保持启用状态。
C:\ my_game \ assts \ 01 \ plyr \ walk_01.png
比C:\ my_epic_game_featuring_my_awesome_character \ assets \…
更容易输入)