python3中window和linux之间的文件路径差异是什么?

问题描述 投票:0回答:2

现在我正在创建一个文本文件,然后使用命令(在python 3中)将som文本写入其中:

userFile = open("users\\"+userName+".txt","w") 

这会在名为users的文件夹中创建文件,但是当我在linux系统上运行程序时,它会在根文件夹中创建一个名为users \ userName.txt的文件。

linux中的python 3的路径定义有何不同?

linux windows python-3.x
2个回答
0
投票

它在python 3 in linux没有什么不同,它在linux有所不同。一般来说,*nix文件路径使用/作为目录分隔符,其中windows使用\(出于任何原因)。

在python 3中,您可以使用pathlib.Path从操作系统中抽象出代码。所以你可以做点什么

open(Path(f"~/{username}.txt"), "w")

波浪号~指的是用户的主目录。 Python将确定运行代码的文件系统,并正确地映射目录分隔符。你也可以这样做

open(Path(f"/users/{username}.txt"), "w")

为了解决特定的用户目录,/指的是文件系统的根目录,应该可以在Linux和Windows上运行(尽管我还没有测试过)。

https://docs.python.org/3/library/pathlib.html?highlight=pathlib%20path#module-pathlib


0
投票

Windows有驱动器(C:,D:,X:等)和反斜杠或双反斜杠,例如

C:\Users\JohnSmithC:\\Users\\JohnSmith相同

在Linux上,没有驱动器(本身)和正斜杠,例如/home/name

了解路径的最佳方法是使用os。尝试在你的python终端print(os.path.abspath('.'))中键入它

© www.soinside.com 2019 - 2024. All rights reserved.