相关疑难解决方法(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字符串中包含引号?

>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
Run Code Online (Sandbox Code Playgroud)

那么我们如何获得报价但不是斜线?

请不要建议,r'what"ever'因为那时问题就变成了我们如何包含两种类型的报价?

有关

python syntax

79
推荐指数
5
解决办法
17万
查看次数

在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不会在__doc__中自动转义'\'?

似乎某些转义字符在docstring中仍然很重要.例如,如果我们运行python foo.py(Python 2.7.10),它将发出错误,如ValueError: invalid \x escape.

def f():
    """
    do not deal with '\x0'
    """
    pass
Run Code Online (Sandbox Code Playgroud)

实际上,似乎正确的docsting应该是:

    """
    do not deal with '\\\\x0'
    """
Run Code Online (Sandbox Code Playgroud)

另外它也会影响import.

对于Python 3.4.3+,错误消息是:

  File "foo.py", line 4
    """
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 24-25: truncated \xXX escape
Run Code Online (Sandbox Code Playgroud)

我觉得有点奇怪,因为我认为它只会对__doc__模块本身产生影响并且没有任何副作用.

为什么设计如此?它是Python中的缺陷/错误吗?

注意

我知道"""和原始文字的含义,但我认为python解释器应该能够特别处理docstring,至少在理论上.

python docstring

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

如何防止在Python中自动转义特殊字符

我正在编写一个Python脚本,它接受文件路径作为字符串,解析它们,附加一个命令名,然后构建一个列表,然后传递给它subprocess.Popen()执行.此脚本用于处理Unix和Windows文件路径,最终应在两个系统上运行.

当我在Unix下运行时,如果我给出一个无意中包含转义字符的Windows路径(例如\Users\Administrator\bin),Python会将嵌入式解释\b为退格字符.我想防止这种情况发生.

据我所知,没有函数或方法将字符串变量表示为原始字符串.该'r'修饰符仅适用于字符串常量.

到目前为止,我能得到的最接近的是:

winpath = "C:\Users\Administrator\bin" 
winpath = winpath.replace('\b','\\b')
winpathlist = winpath.split('\\') 
Run Code Online (Sandbox Code Playgroud)

此时,winpathlist应该包含['C:','Users','Administrator','bin'],而不是['C','Users','Administrator\x08in'].

我可以添加额外的呼叫winpath.replace()处理等逃跑我可能会- ,\a,\f,\n,,\r -但不是.\t\v\x

是否有更多的pythonic方式来做到这一点?

python escaping special-characters

8
推荐指数
2
解决办法
3万
查看次数

忽略python中的反斜杠字符

我觉得这个有点棘手.

如果我有:

a = "fwd"
b = "\fwd"
Run Code Online (Sandbox Code Playgroud)

我怎么能忽略"\"这样的东西呢

print(a in b)
Run Code Online (Sandbox Code Playgroud)

可以评估为真?

python

4
推荐指数
2
解决办法
9310
查看次数

如何将字符串中的"\ t"拆分为两个单独的字符"\"和"t"?(如何拆分转义序列?)

我试图将python中的字符串拆分为字符列表.我知道在python中有很多方法可以做到这一点,但我有一个案例,那些方法不能给我想要的结果.

当我在字符串中显式写入'\ t'之类的特殊字符时,会出现问题(我并不是指真正的标签).

例:

string = "    Hello \t World."
Run Code Online (Sandbox Code Playgroud)

我需要的输出是:

list_of_chars = [' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '\', 't', ' ', 'W', 'o', 'r', 'l', 'd', '.']
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个问题中给出的方法时,我得到一个包含'/ t'作为整个字符串的列表 - 没有分开.

例:

> list(string)
> ['H', 'e', 'l', 'l', 'o', 'w', ' ', '\t', ' ', 'W', 'o', 'r', 'l', 'd', '.']
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会这样,以及如何得到我想要的东西.

python string python-3.x

4
推荐指数
2
解决办法
947
查看次数

避免在字符串中转义双引号

是否有Python的组件允许我绕过中间引号?在中,您是否可以指定主启动和停止打印调用,以便解释主启动和停止之间的所有内容,无论该元素最初代表什么?

我试图在程序中打印这行有趣的ASCII,这只是由于中间引号弹出而导致错误的行之一:

print"           ./'..|'.|| |||||\```````  "  '''''''/||||| ||.`|..`\."
                                                                      ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

编辑:在考虑字符串文字的原始解释时,如果三重引号出现在您的行中,您还可以在原始解释中遇到三重引用的退出.

python string escaping

3
推荐指数
2
解决办法
1048
查看次数

如何在Python中忽略反斜杠作为转义字符?

我知道这与有关反斜杠的许多其他问题类似,但这涉及到一个尚未解决的特定问题。是否有一种模式可以用来完全消除反斜杠作为打印语句中的转义字符?我需要对ascii艺术了解这一点,因为当所有反斜杠都必须加倍时,很难找到正确的位置。

print('''
/\\/\\/\\/\\/\\
\\/\\/\\/\\/\\/
''')
\```
Run Code Online (Sandbox Code Playgroud)

python backslash

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