String 如何清理剪贴板数据中的麻烦字符,以便在空闲时粘贴到python脚本中?

String 如何清理剪贴板数据中的麻烦字符,以便在空闲时粘贴到python脚本中?,string,python-2.7,clipboard,python-idle,String,Python 2.7,Clipboard,Python Idle,我想复制网站中显示的数据表,并使用IDLE将其作为文本直接粘贴到脚本中作为字符串变量。这有时不起作用,因为复制的材质中存在IDLE不接受为可保存的内容。由此产生的行为不是错误消息,而是忽略保存请求的空闲行为。它就停在那里,直到我关上它而不保存 目前这种行为对我来说还不错——我当然不想保存包含麻烦字符的python脚本 有没有什么方法可以让我把那些讨厌的角色从我电脑的剪贴板上取出来,这样我就可以继续写我的脚本了 如果我只需要这样做一次,我可以进去查看网站的html,并可能将其提取出来,或者我可以进

我想复制网站中显示的数据表,并使用IDLE将其作为文本直接粘贴到脚本中作为字符串变量。这有时不起作用,因为复制的材质中存在IDLE不接受为可保存的内容。由此产生的行为不是错误消息,而是忽略保存请求的空闲行为。它就停在那里,直到我关上它而不保存

目前这种行为对我来说还不错——我当然不想保存包含麻烦字符的python脚本

有没有什么方法可以让我把那些讨厌的角色从我电脑的剪贴板上取出来,这样我就可以继续写我的脚本了

如果我只需要这样做一次,我可以进去查看网站的html,并可能将其提取出来,或者我可以进入谷歌应用程序获取它

但是出于这个问题的目的,我想要一种方法来“修复”我的剪贴板中的数据,以便我可以使用IDLE将字符串粘贴到脚本中并运行它

我先在
.txt
文件中尝试了“粘贴并匹配样式”来清理它,但运气不好。我有升华文本2,但不是很熟悉它,如果有一个相对容易使用的功能,在那里,这将是好的

在提示下尝试粘贴三重引号内的
thing=“”
将显示以下错误消息:
输入中不支持的字符

注意:在OSX中使用Python和空闲版本“2.7.11”、Tk版本“8.5.9”(我知道,它们已经有一年历史了)

编辑:这是我的剪贴板上的一块数据,如评论中所示。从这里进行复制(如图所示)会导致在空闲状态下保存尝试失败,因此这里至少有一些讨厌的符号。我正在一对三重引号之间粘贴,例如,
thing=“””



我会尝试扫描字符串并找到超出正常可打印范围的字符。也许这个奇怪的角色更容易辨认

text = """ <here comes your pasted text> """

def normal(c):
  return (32 <= ord(c) <= 127) or (c in '\n\r\t')

strange = set(ord(c) for c in text if not normal(c))

print strange
text=“”“”
def正常(c):

返回(32)您可以尝试使用Python@cricket_007表格显示在我浏览器的网页上,我选择它并复制到我计算机的剪贴板上。我能从剪贴板上解析吗?我不是网页开发人员,也不是表格的创建者。它似乎是谷歌电子表格。有一个API。是的,我知道,还有我只是说IDLE对于简单的脚本来说是非常好的,但是在实际开发时,请使用类似IDE的IDEPycharm@cricket_007这个问题是关于python2,其中代码仅限于ascii,而不是python3,其中代码是unicode。除非有人试图粘贴astral(非BMP)字符,否则它不是关于IDLE和PyCharm(我也不知道PyCharm是否能处理这样的字符)。我不能用这个东西运行任何python。我已经在上面粘贴了一个示例,当我再次复制它,甚至在交互式python提示下粘贴时,我在输入中得到了错误
不支持的字符。我想知道是否适用?啊!我还有另一个python 2.7安装(anaconda)。在iTerm中运行时,我可以在提示时毫无问题地粘贴它。好的,我现在就试试。设置([195188]),看起来分别是Ã和¼。所以我想知道这个问题的答案是否是,这实际上可能是闲置“初学者级”IDE的预期行为,也许是为了安全预防,但其他环境可能更容易接受?现在尝试在文本中定位这些字符:例如,
text.find(chr(195))
。这不是用
Würzburg
这样的词吗?
Ä
都不会导致正确的Unicode文本出现任何问题。答对了!问题解决了。我通常不处理字符串,这非常有帮助。感谢迷你教程!
text = """ <here comes your pasted text> """

def normal(c):
  return (32 <= ord(c) <= 127) or (c in '\n\r\t')

strange = set(ord(c) for c in text if not normal(c))

print strange