何か?
>>> from ast import literal_eval
>>> s = r'Hello,\nworld!'
>>> print(literal_eval("'%s'" % s))
Hello,
world!
編集:OK、それはあなたが望むものではありません。 @Sven Marnachは説明したように、文字列は実際にエスケープシーケンスを含んでいないので、あなたが望むものは一般的には行えません。それらは文字列リテラルの単なる表記です。
>>> l = ['william', 'short', '\x80', 'twitter', '\xaa', '\xe2', 'video', 'guy', 'ray']
>>> [word for word in l if word.isalnum()]
['william', 'short', 'twitter', 'video', 'guy', 'ray']
:
あなたはリスト内包とstr.isalnum()
を使用して、英数字していない「という言葉を」フィルタリングでき
def is_ascii(s):
try:
s.decode('ascii')
return True
except UnicodeDecodeError:
return False
[s for s in ['william', 'short', '\x80', 'twitter', '\xaa',
'\xe2', 'video', 'guy', 'ray']
if is_ascii(s)]
最終的な文字列オブジェクトには、エスケープシーケンスを含む文字列リテラルの情報が含まれていません。何かがあるかどうかわからなくても、どうやってそれらを "削除"しますか? –