现在我正在创建一个文本文件,然后使用命令(在python 3中)将som文本写入其中:
userFile = open("users\\"+userName+".txt","w")
这会在名为users的文件夹中创建文件,但是当我在linux系统上运行程序时,它会在根文件夹中创建一个名为users \ userName.txt的文件
linux中python 3的路径定义有何不同?
答案 0 :(得分:0)
python 3 in linux
中linux
的情况与*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\JohnSmith
与C:\\Users\\JohnSmith
在Linux上,没有驱动器(本身)和正斜杠,例如
/home/name
感受路径的最佳方法是使用os。尝试在您的python终端print(os.path.abspath('.'))