我捕获剪贴板数据,即unicode文本。使用此代码:
from Tkinter import Tk
r = Tk()
new_clipboard = r.clipboard_get()
print(new_clipboard)
file = open("jokes.txt", "w")
file.write(json.dumps(new_clipboard)))
file.close()
但结果是这样的:
u'\u0648\u0647\u0627\u060c\u0627\u0646\u06cc\u0645\u06cc\u0634\u0646 \u0647\u0627 \u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc'
如何将此数据转换为原始字符并将其存储到文件中? 原始数据格式为UTF-8
答案 0 :(得分:0)
那些 原始字符。
with io.open('output.txt', 'w', encoding='utf-8') as fp:
fp.write(new_clipboard)
答案 1 :(得分:0)
如果您使用 python 2.x ,请使用以下代码:(在这种情况下,如果您想将Unicode编写为原始形状,则必须为文件指定真正的编码!并使用{ {1}}中的{1}}
ensure_ascii=False
但在 Python 3.x 中,内置dump
是#encoding: utf-8
import io,json
with io.open('jokes.txt', 'w', encoding='utf8') as f:
json.dump(new_clipboard, f, ensure_ascii=False)
的别名,所以如果您使用 python 3.x 您可以使用open()
代替io.open()
,同时注意open()
必须是Unicode!我试试这个并且效果很好!