相关疑难解决方法(0)

为什么Python的原始字符串文字不能以单个反斜杠结尾?

从技术上讲,任何奇数个反斜杠,如文档所述.

>>> r'\'
  File "<stdin>", line 1
    r'\'
       ^
SyntaxError: EOL while scanning string literal
>>> r'\\'
'\\\\'
>>> r'\\\'
  File "<stdin>", line 1
    r'\\\'
         ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

似乎解析器可以将原始字符串中的反斜杠视为常规字符(不是原始字符串的全部内容吗?),但我可能遗漏了一些明显的东西.TIA!

python string literals rawstring

157
推荐指数
6
解决办法
7万
查看次数

Python中的Windows路径

例如,表示Windows目录的最佳方法是什么"C:\meshes\as"?我一直在尝试修改脚本,但它永远不会起作用,因为我似乎无法正确获取目录,我假设因为'\'扮演转义角色?

python path string-literals

116
推荐指数
5
解决办法
22万
查看次数

在python中使用反斜杠(不要逃避)

import os
path= os.getcwd()
final= path +'\xulrunner.exe ' + path + '\application.ini'
print final
Run Code Online (Sandbox Code Playgroud)

我想要出局:

c:\ python25\xulrunner.exe c:\ python25\application.ini

我不希望反斜杠作为字符串工作,我的意思是不要让它逃脱或做任何特别的事情.但我得到一个错误

无效\ x转义

我如何使用'\'作为'\'而不是逃避?

python string backslash

23
推荐指数
3
解决办法
6万
查看次数

Python os.chdir正在修改传递的目录名称

我试图使用os.chdir更改python中的当前工作目录.我有以下代码:

import os

os.chdir("C:\Users\Josh\Desktop\20130216")
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,似乎更改了目录,因为它出现以下错误消息:

Traceback (most recent call last):
File "C:\Users\Josh\Desktop\LapseBot 1.0\LapseBot.py", line 3, in <module>
os.chdir("C:\Users\Josh\Desktop\20130216")
WindowsError: [Error 2] The system cannot find the file specified
  'C:\\Users\\Josh\\Desktop\x8130216'
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

python directory chdir python-2.7

10
推荐指数
1
解决办法
3万
查看次数

为什么Python中的单个反斜杠原始字符串会导致语法错误?

另请参阅为什么我不能用反斜杠结束原始字符串?为什么不能Python的原始字符串文字用一个反斜杠结束?问题和相关答案.


在我的Python 2程序中,我使用了大量带有嵌入式反斜杠的文字字符串.我可以使用另一个反斜杠来转义每个反斜杠(例如:) "red\\blue"或使用Python原始字符串(例如:) r"red\blue".我已经对原始字符串方法进行了标准化,除了一个方法之外,它在所有情

如果我想表示一个双反斜杠,我可以使用r"\\",但如果我尝试输入一个反斜杠文字r"\"Python抱怨语法错误.显而易见的解决方法是"\\"在这种情况下使用,但为什么单个原始字符串反斜杠是错误的? 这是Python中的错误吗? 有没有办法将单个反斜杠编码为原始字符串?

例:

>>> r"red\blue"
'red\\blue'
>>> r"\\"
'\\\\'
>>> r"\"
  File "<stdin>", line 1
    r"\"
       ^
SyntaxError: EOL while scanning string literal
>>> 
Run Code Online (Sandbox Code Playgroud)

我宁愿在整个程序中使用原始字符串保持一致,并且"\\"在几个地方使用它看起来像一个kludge.使用r"\\"[0]并不是更好.我一直在使用一个常数也被认为是BACKSLASH其中BACKSLASH = r"\\"[0]在程序的开始.另一个kludge.

更新: 当原始字符串末尾有一个奇数个反斜杠时,也会发生此错误.使用的默认字符串扫描程序将反斜杠解释为转义字符,以便最后一个反斜杠将转义结束引号字符.它的目的是"并且'可以嵌入到字符串中,但是生成的字符串仍然会将内部的反斜杠作为普通字符.

有几个与此问题相关的问题,但没有一个答案解释了为什么单个反斜杠原始字符串是错误或如何将单个反斜杠编码为原始字符串:

python用双反斜杠替换单反斜杠

无法在Python中打印'\'(单反斜杠)

Python正则表达式用单反斜杠替换双反斜杠

在Python 3中将单反斜杠转换为双反斜杠

为什么我不能用反斜杠结束原始字符串?

为什么Python的原始字符串文字不能以单个反斜杠结尾?

python string syntax-error

7
推荐指数
1
解决办法
1388
查看次数

如何在python中用'\\'替换'\'的字符串

例如,我想从用户输入绝对路径,如“C:\Users\User\Desktop”并将其更改为“C:\\Users\\User\\Desktop”,但是当我执行以下操作时:

path = input("Enter path: ")path = path.replace("\", "\\")

\\触发的转义序列时,它会引发语法错误。我如何绕过这个并实现替换?

更正:它需要输入并自行调整!没有必要做上面提到的这种事情......

python string replace str-replace python-3.x

-1
推荐指数
1
解决办法
90
查看次数