相关疑难解决方法(0)

在Python中处理字符串中的转义序列

有时当我从文件或用户那里获得输入时,我会得到一个包含转义序列的字符串.我想以与Python处理字符串文字中的转义序列相同的方式处理转义序列.

例如,假设myString定义为:

>>> myString = "spam\\neggs"
>>> print(myString)
spam\neggs
Run Code Online (Sandbox Code Playgroud)

我想要一个函数(我会称之为process)这样做:

>>> print(process(myString))
spam
eggs
Run Code Online (Sandbox Code Playgroud)

重要的是该函数可以处理Python中的所有转义序列(在上面链接的表中列出).

Python有功能吗?

python string escaping

93
推荐指数
4
解决办法
8万
查看次数

如何通过用户输入转义收到的乳胶代码?

我从用户输入的GUI文本框中读取一个字符串,并通过pandoc处理它.该字符串包含带有反斜杠字符的math的latex指令.我想将字符串作为原始字符串发送到pandoc进行处理.但是像"\ theta"这样的东西变成了一个标签和"heta".

如何将包含反斜杠字符的字符串文字转换为原始字符串...?

编辑:

谢谢develerx,飞羊和unutbu.但是这些解决方案似乎都没有帮助我.原因是还有其他的backslashed-characters在python中没有任何影响但在latex中有意义.

例如'\ lambda'.建议生产所有方法

\\lambda
Run Code Online (Sandbox Code Playgroud)

在乳胶加工中没有经过 - 它应该保持为\ lambda.

另一个编辑:

如果我能得到这项工作,我想我应该通过.@Mark:这三种方法都给出了我不想要的答案.

a='\nu + \lambda + \theta'; 
b=a.replace(r"\\",r"\\\\"); 
c='%r' %a; 
d=a.encode('string_escape');
print a

u + \lambda +   heta
print b

u + \lambda +   heta
print c
'\nu + \\lambda + \theta'
print d
\nu + \\lambda + \theta
Run Code Online (Sandbox Code Playgroud)

python string text

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

Python Raw Strings

我有一个字符串s,其内容是可变的.我想把它变成原始字符串.我该怎么做?

类似于r''方法的东西.

python string

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

如何在 Python 中“原始文本”变量?

我正在打开一本工作簿openpyxl

wb = load_workbook(r'seven.xlsx', data_only=True)
Run Code Online (Sandbox Code Playgroud)

电子表格的名称并不总是事先知道,所以我需要重写这个硬编码以允许一个变量,同时仍然保持r?

如果我的变量名是 sheet,那么:

wb = load_workbook(sheet, data_only=True)
Run Code Online (Sandbox Code Playgroud)

将省略r.

显然我不能这样做:

wb = load_workbook(r'sheet', data_only=True)
Run Code Online (Sandbox Code Playgroud)

我们如何实现 r 到变量的前置/我们如何将 vriable 包装在其中r''

python string rawstring python-2.7

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

将转义字符写入文件以使该字符可见

我想将“\t”写入文件。不是“制表符”,而是字面上的“\t”。我该怎么做呢?这已经让我发疯了一个多小时了;我尝试的所有操作都会产生一个实际的“制表符”(空白)。

我为什么想要这个?因为我正在使用 ConfigParser() 生成一个配置文件,其中还包含一些分隔符,并且我希望该文件是人类可读的。我不认为空白是可读的。

编辑:抱歉,问题不清楚:我想对包含字符串的变量执行此操作。所以写“\\t”不是一个选择。我必须将包含转义字符的变量的值写入文件,其方式在思想上等同于:

v = "\t"
write(v)
Run Code Online (Sandbox Code Playgroud)

不改变定义的情况v下(尽管对 的操作是可以的)定义为“\t”后,v似乎不可能更改为“\\t”。v

python escaping python-3.x

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

标签 统计

python ×5

string ×4

escaping ×2

python-2.7 ×1

python-3.x ×1

rawstring ×1

text ×1