字符串python中的额外'\'字符

时间:2014-11-06 06:51:41

标签: python string pandas

我正在尝试将用户输入作为我的函数的参数。我这样做了:

Utilities.py

def EnterVersion()
    gVer = ""
    tgVer = ""
    while True:
          gVer = input(" Enter game version : ")
          if gVer ='':
             tgVer = tgVer[:-1]
             break
          else:
            gVer = '\'' + gVer + '\'' + ','
            tgVer += gVer

    tgVer = "\"(%s)\""%tgVer
    print(tgVer)
    return tgVer

a.py

game_version = ""

def getGameVersion()
    game_version = utilities.EnterVersion()
    return game_version

当用户输入如下:

  

输入游戏版本:1
  输入游戏版本:2

编辑:
我正在使用VS for Python
脚本的输出(在命令行上)很好:

  

"(' 1'&#39 2')"

但是,当我把观察放在变量上时,就是这样: enter image description here

输出将如下:

  

"(\' 1 \' \' 2 \')"

没有额外的' \'在上面。

所以,鉴于输入我的查询(我正在使用熊猫)并没有运行。

因为它将游戏版本视为:

  

' \ 1' \和' \ 2 \'或者
  \' 1 \'和\' 2 \'

我知道' \'曾经在python中写过特殊字符 但为什么我把它拿到我身上呢? 任何人都可以向我解释为什么我有额外的' \'在我的字符串?

2 个答案:

答案 0 :(得分:0)

使用python2.7运行以下代码即可:

def EnterVersion():
    gVer = ""
    tgVer = ""
    while True:
          gVer = raw_input(" Enter game version : ") #use raw_input here
          if gVer == '':
             tgVer = tgVer[:-1]
             break
          else:
            gVer = '\'' + gVer + '\'' + ','
            tgVer += gVer

    tgVer = "\"(%s)\""%tgVer
    print(tgVer)
    return tgVer

结果:

 Enter game version : 2
 Enter game version : 4
 Enter game version : 1
 Enter game version : 2
 Enter game version : 
"('2','4','1','2')"

编辑:你做得很好!但是你不应该在调试模式下看到resule,因为它使用将在代码中表示的字符串,而不是真正的输出。即如果你在调试模式中看到"abc",而实际输出字符串是abc,如果在调试模式下看到“\'hi \'”,则实际输出字符串将为'hi',没关系!

答案 1 :(得分:0)

当我尝试运行它时,您的代码有几个语法错误。而且它也是你预期的输出而不改变代码。

def EnterVersion():
    gVer = ""
    tgVer = ""
    while True:
          gVer = input(" Enter game version : ")
          if gVer =='':
             tgVer = tgVer[:-1]
             break
          else:
            gVer = '\'' + gVer + '\'' + ','
            tgVer += gVer

    tgVer = "\"(%s)\""%tgVer
    print(tgVer)
    return tgVer


if __name__ == "__main__":
    game_version = EnterVersion()
    print(game_version)