python-3.x 替换os.getcwd()中的斜杠“\”

tkclm6bt  于 2023-03-24  发布在  Python
关注(0)|答案(1)|浏览(138)

我试图获取当前工作目录,并将其添加到带有os.getcwd的文件路径中。因为windows在目录路径中使用正斜杠,所以我需要将所有这些斜杠更改为反斜杠,以便在python中工作。
我尝试过的:

import os

old = getcwd()

new = old.replace("\", "/")

file_path = (new + "folder/filename")

print(file_path

上面的代码抛出了一个错误SyntaxError: EOL while scanning string literal

qcuzuvrc

qcuzuvrc1#

因为windows在目录路径中使用正斜杠
它没有-它使用 * 反斜杠 *(但它也接受正斜杠)。
无论操作系统如何,都可以使用:1

import os

file_path = os.path.join(os.getcwd(), 'folder', 'filename')
# also works:
# file_path = os.path.join(os.getcwd(), 'folder/filename')

...但你得到的具体错误是因为你试图在Python字符串中使用未转义的反斜杠。由于字符串中的反斜杠具有特殊含义,因此它的用法需要转义:使用"\\"而不是"\"。但是如上所述,这在这里是不相关的(在处理路径时99%的时间都是如此)。
1一个更简洁的方法是通过pathlib,它使用正确类型的对象来编码路径,而不是字符串:

import pathlib

file_path = pathlib.Path('.').absolute() / 'folder' / 'filename'

相关问题