为了账号安全,请及时绑定邮箱和手机立即绑定

替换 os.getcwd() 中的斜杠“\”

替换 os.getcwd() 中的斜杠“\”

Go
白衣非少年 2023-06-20 13:59:54
我正在尝试获取当前工作目录并将其添加到带有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'


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信