有时当我从文件或用户那里获得输入时,我会得到一个包含转义序列的字符串.我想以与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有功能吗?
我从用户输入的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) 我有一个字符串s,其内容是可变的.我想把它变成原始字符串.我该怎么做?
类似于r''方法的东西.
我正在打开一本工作簿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''?
我想将“\t”写入文件。不是“制表符”,而是字面上的“\t”。我该怎么做呢?这已经让我发疯了一个多小时了;我尝试的所有操作都会产生一个实际的“制表符”(空白)。
我为什么想要这个?因为我正在使用 ConfigParser() 生成一个配置文件,其中还包含一些分隔符,并且我希望该文件是人类可读的。我不认为空白是可读的。
编辑:抱歉,问题不清楚:我想对包含字符串的变量执行此操作。所以写“\\t”不是一个选择。我必须将包含转义字符的变量的值写入文件,其方式在思想上等同于:
v = "\t"
write(v)
Run Code Online (Sandbox Code Playgroud)
不改变定义的情况v下(尽管对 的操作是可以的)定义为“\t”后,v似乎不可能更改为“\\t”。v