我正在尝试获取当前工作目录并将其添加到带有os.getcwd. 因为 Windows 在目录路径中使用正斜杠,所以我需要将所有这些斜杠更改为反斜杠,以便它在 python 中工作。我试过的:import osold = getcwd()new = old.replace("\", "/")file_path = (new + "folder/filename")print(file_path以上是抛出错误SyntaxError: EOL while scanning string literal
1 回答
开满天机
TA贡献1786条经验 获得超12个赞
因为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更简洁的方法是 via pathlib,它使用正确类型的对象而不是字符串来编码路径:
import pathlib
file_path = pathlib.Path('.').absolute() / 'folder' / 'filename'
- 1 回答
- 0 关注
- 257 浏览
添加回答
举报
0/150
提交
取消