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

时间:2018-02-17 20:05:17

标签: linux windows python-3.x

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

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

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

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

2 个答案:

答案 0 :(得分:0)

python 3 in linuxlinux的情况与*nix不同。一般来说,/文件路径使用\作为目录分隔符,而窗口使用pathlib.Path(出于任何原因)。

在python 3中,您可以使用open(Path(f"~/{username}.txt"), "w") 从操作系统中抽象出代码。所以你可以做类似

的事情
~

代字号open(Path(f"/users/{username}.txt"), "w") 指的是用户的主目录。 Python将确定运行代码的文件系统,并正确地映射目录分隔符。你也可以这样做

/

为了解决特定的用户目录,public function results(Request $request) { $test_2_lowest = TestsCorrect::join('results', 'tests_correct.id', '=', 'results.test_result_id') ->where('results.user_id', '=', $user_id) ->where('results.test_id', '=', $request->get('test_id')), ])->min('correct'); } 指的是文件系统的根目录,应该可以在Linux和Windows上运行(虽然我没有测试过)。

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

答案 1 :(得分:0)

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

C:\Users\JohnSmithC:\\Users\\JohnSmith

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

感受路径的最佳方法是使用os。尝试在您的python终端print(os.path.abspath('.'))

中键入此内容