第一步: 先在gist之類的網站上貼上代碼,目的不是高亮,而能夠raw的形式獲取代碼,這樣能夠省掉處理html的時間,我這裏用的是pasteraw:html
遠程上的代碼:http://cdn.pasteraw.com/6hwu5u4ujhdv5gvyh07qrahb9d0orerpython
tkinter代碼的兼容性真是超好,我基本抄的十年前教程上的代碼,其中代碼以下,那些奇怪的字符是原型是一個2K的MP3文件:windows
""" 這個代碼主要示範: 一、示範python3如何從遠程下載代碼並執行 二、示範如何把一個文件轉成文本嵌入到程序代碼中。 三、示範把字符還原成文件,並調用。這段代碼中使用的是base85編碼 # 調用方法 import urllib.request; code_url = url; req = urllib.request.urlopen(code_url).read();exec(req) #運行環境 windows python3.4 #2016年9月1日 11:51:16 codegay """ import base64 amp3 = r""" s5P6?!#0DW?irk8!4Z3Y@0-^#!bBcl]=Z(=Lku)C]=Xdb`(kZokl-G8!K0,aE&\]!EsobJ#N(aK5EtF<ci<KRi1(nIpc`!`arL!PPR$0(7rUdB&!mh,0(;.,5QDK*"Tj6?s5P<A#o/Rd dU.u!!2*.:'F2>G\SrpF;o4$MIHd=#c-m"ZM?;c5:(t(=U4CV/4nG`BN2Z^Bk[B;Z-m2=d-o(L,ht3o!s75JIVtnO8LjR&'..htts2>^]L]dd&[cr:\@q[G>"omU*`"!T9md;1;-j,4M jqp@Mc?"c\*PCQ$5g`g6mOV_maK=i&Qg7!YL4@Ttku<Ym?GsBW'<MaC5O?/bs%i5dV5[o*Z5Hqpf73fZrRO[]ZB:NWYPf/Y]uP\cbYk=llV%1b63#sh`![<Kk5IP(7,@qloMNM#^&ao8 nh>_\"%!R6@0f4*`$#(BdM"c46'8:,RAbr+e'mu9ke?<]s7Ce`A@,8;*PmgC$loL@)G>RFeAWG,$lZJFTh<B?!$$Qu2h*r_JdEXUr@e32+N+g.!nQI^;?WEmTcMHX"I`2^j!k"t+B#Ds :hf@kmE.0/s&U?RGQ3>-E_&n2I2Rj/mma4i7*5Gcs8W,U6_*=!(uYT/0H^K<m9QOc8F$?q16*7`Z/=br"p$2Cg]m^LV$$bX,/aj)F2%>H-q.0h2tT32@3^O6ns#p`'_l3oaAE*t2dB$# !#M);@/k`sd1\uBo-5.OVMkNJs7W#?a(ko65`B8E7s3q^=5(Cgs8ApBf<%drj:&srgccke$+,kVp*;X&?r@4/iul8L(JD'mp//d*Z/P_I$m5D_+;4^IpoV<\.`ZDUj++W8SfVe8WQ#4e r^&jIJQo&(ro@,[\+pT0Q''`N_#h5uVuDDMg]!.7aYKljRa-f.&XCA:aU,KEeVqQN*JuoW?reNPj!)DK'No2DIL8J01*ur1"CL<o!Wd66/,rM8s.Z4"kG"aNW)F%=61b2LW3N#[Y^A&+ ,TX*la%]q=@%d_m;,rQ;epG0_f/"5UZ@S;\*qh&J&teb--O"$S8QC*<+A<#,PMXHQs5P6?'GME;a9l\qOGROGfF][)P=uGp%Eo=0,"1"*'3M78&J5XO;)FW!2"hSsbm_[=o@??mWM/7K T]CV&s7WTB:]LIp<AagGs8Ds4_+EK[KG#"qmS$G,1LCPIO?*CUMO$09s5P<A*Y^koe/hL]J8ctV%%0-c,]FI__dOqC5g`H%-*]#0`2`k(`pja(_dT=\?5f6^HU%BSm4[o[:[.iH#App& ralu-MkGY1Z.(<q2TJ9e"?qRKXDc`_FH$?ZLC9S[pWF,>F8t8C`$lC>hS^L4-ihHpk!M42U)XR7XAc.;lGpPn)=J<sc-0HqR*'94D67E9DV2+?\h1%Jdn&W^l?5UX0i"l\8k-F8VgiX& euT5dU8H?qobe??>k(]8MQ/@XDaG&:_ao+"q#B@u`%i-kG,,/+5QIcB(]")P`0)8a07;!&+FBKuX'A&rs1ZNr\`qS>4hpIWs5*BTBC"crh-/>/pIIq$@jO]3nPa,#EH9+_o;.^`PtXY% 19*@^aamQ+Q<U["9oN),B^3rE"0V[a+N,oT_d\#:Qp:X]<JG2eaU^b$W!\BH?(-9C(d+S4F\#MeBiU5orpJaTR?:@*d]3f)WuqBAk:2@N[-("@9e>#"29N*3s8W-!CD0T?C=Z8)$C32D s8F;Wjjj\[$33nV"ciWC,/aj'CA(%3a:J=i.`s5Um)N'_s8U5HXjGu*jY-Z6r2'Gn6YQCobQ%/Q0srH:?hm>^)3Dk\;XHhN\Op$B:r$fQS`3a$i=Kt;lT;qdnL@3u9gpij3ArKEWiE)! WiE)!WiE*!iul8T!!!*lzWiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE'""" def decodemp3(): bmp3=base64.a85decode(amp3.encode()) with open("my.mp3","wb") as f: f.write(bmp3) import os os.system("start my.mp3") from tkinter import * class app: def __init__(self,master): frame = Frame(master) frame.pack() self.button = Button(frame,text="exit", fg="red",command=frame.quit) self.button.pack(side=LEFT) self.hi = Button(frame, text="16年前書上的tkinker代碼如今還能跑,點這個按鈕會解碼文本並彈出播放MP3",command=self.say_hi) self.hi.pack(side=LEFT) def say_hi(self): print("hi~~") decodemp3() root = Tk() a = app(root) root.mainloop()
第二步:app
複製如下代碼到IDLE 回車執行,稍等一會能夠看到效果。ide
import urllib.request; code_url = "http://cdn.pasteraw.com/6hwu5u4ujhdv5gvyh07qrahb9d0orer"; req = urllib.request.urlopen(code_url).read();exec(req)
2016年9月1日 10:09:20 codegayoop