为什么python中的raw_input不接受超过9个特殊字符

时间:2016-03-02 05:06:12

标签: python-2.7

在python中编写解码程序时,我必须得到一些乱码文本作为输入但只有前9个字符被接受为什么?以及如何让它接受一切

代码是

    print ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
    print ",,To paste data click on the,,,"
    print ",small icon at top left corner,"
    print ",,Click on Edit and then Paste,"
    print ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
    print " "
    print " "
    b= raw_input("Enter string: ") or ""
    print b
    x=raw_input("press any key to exit....")

此外,当我输入此文本时,我必须按两次输入

下载文件,然后复制粘贴输入 link to garbled input

1 个答案:

答案 0 :(得分:0)

您的代码在我的Python 3(使用IDLE)上运行良好。我很确定问题不是因为Python不接受“超过9个字符”,而是因为它不接受你的第10个字符。尝试用其他东西替换它,如果有效,你应该试着弄清楚如何使用程序中的所有字符。

另外,尝试在文件顶部添加它,它可能会解决Python 2的问题:

# -*- coding: utf-8 -*-

如果这不起作用,您应该尝试将字符串解码为utf-8

b = raw_input('Enter string: ')  # You don't need the `or ""`
b = b.decode('utf-8')

或者可选择使用系统的默认解码:

import sys
b = raw_input('Enter string: ')
b = b.decode(sys.stdin.encoding)

如果这些都不起作用,问题可能出在您的环境中。尝试在Power Shell或类似程序中执行代码。可能是Windows糟糕的命令提示符不支持所有字符。