Python反向转义字符将变量转换为原始字符串

2024-10-04 11:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

注:这是一个假设问题: 所以我在google上搜索了这个问题的几个变体(“stringliterl”,“Escape Char”,“Raw String”等等),他们说的唯一解决方案是在字符串的第一个引号前加上“r”。我还尝试过将.format()转换为原始字符串re/repr,并尝试用.replace()替换斜杠,但它已经转换了转义字符。在

path = r"C:\Users\Chris\Documents\Python_2.7\2016\MyProgram"
os.path.exists( path ) # Return True
os.listdir( path ) # Returns list of files in directory

但是,如果它是从单独的函数/类返回的预定义变量(例如)?在

^{pr2}$

所以我的问题是:如何使一个预先定义的变量成为一个字符串文本,并让类似这样的路径工作?在

更新:这都是假设!只是想知道有没有方法可以逆转转义字符!!!在

示例:

s = "\x77"
print s  ## Prints "w"
len(s)  ## Returns 1

MagicFunction(s)  ## Returns "\x77" ???

Tags: path字符串stringrawosgoogle变体解决方案
2条回答

我不太明白你的问题。Class.Function.GetPath ()的输出是返回字符串还是原始数据?测试以确保它是一个字符串。如果它不是简单地将返回值转换为str。在

path = str(Class.Function.GetPath()) # Make sure the variable is a string
print os.path.exists( path ) # Check the location
print os.listdir(path)

# repr vs str
print path         # path is already an str data type.
print repr(path)   # Shows the true string value.

如果有换行符,显示它的唯一方法是添加另一个反斜杠,表示为'\\n,而不是'\n'。在

从问题中:

s = "\x77"
print s  ## Prints "w"
len(s)  ## Returns 1

MagicFunction(s)  ## Returns "\x77" ???

变量s存储字符串“w”。有几种方法可以编写string literal

  • "w"
  • "\x77"
  • "\167"

Unicode字符串添加:

  • "\N{LATIN SMALL LETTER W}"
  • "\u0077"
  • "\U00000077"

变量只包含一个字符“w”的字符串。输入如何写入输入文件的信息将丢失。因此,MagicFunction只能返回一个所有可能形式的列表,而不知道原始形式。在

相关问题 更多 >