Somehow, it seems the love I knew was always the most destructive kind 不知爲什麼,我經歷的愛情老是最具毀滅性的的那種 Yesterday when I was young 昨日當我年少輕狂 The taste of life was sweet 生命的滋味是甜的 As rain upon my tongue 就如舌尖上的雨露 I teased at life as if it were a foolish game 我戲弄生命 視其爲愚蠢的遊戲 The way the evening breeze 就如夜晚的微風 May tease the candle flame 逗弄蠟燭的火苗 The thousand dreams I dreamed 我曾千萬次夢見 The splendid things I planned 那些我計劃的絢麗藍圖 I always built to last on weak and shifting sand 但我老是將之建築在易逝的流沙上 I lived by night and shunned the naked light of day 我夜夜笙歌 逃避白晝赤裸的陽光 And only now I see how the time ran away 事到現在我纔看清歲月是如何匆匆流逝 Yesterday when I was young 昨日當我年少輕狂 So many lovely songs were waiting to be sung 有那麼多甜美的曲兒等我歌唱 So many wild pleasures lay in store for me 有那麼多肆意的快樂等我享受 And so much pain my eyes refused to see 還有那麼多痛苦 個人雙眼卻視而不見 I ran so fast that time and youth at last ran out 我飛快地奔走 最終時光與青春消逝殆盡 I never stopped to think what life was all about 我從未停下腳步去思考生命的意義 And every conversation that I can now recall 現在回想起的全部對話 Concerned itself with me and nothing else at all 除了和我相關的 什麼都記不得了 The game of love I played with arrogance and pride 我用自負和傲慢玩着愛情的遊戲 And every flame I lit too quickly, quickly died 全部我點燃的火焰都熄滅得太快 The friends I made all somehow seemed to slip away 全部我交的朋友彷佛都不知不覺地離開了 And only now I'm left alone to end the play, yeah 只剩我一我的在臺上來結束這場鬧劇 Oh, yesterday when I was young 噢 昨日當我年少輕狂 So many, many songs were waiting to be sung 有那麼那麼多甜美的曲兒等我歌唱 So many wild pleasures lay in store for me 有那麼多肆意的快樂等我享受 And so much pain my eyes refused to see 還有那麼多痛苦 個人雙眼卻視而不見 There are so many songs in me that won't be sung 我有太多歌曲永遠不會被唱起 I feel the bitter taste of tears upon my tongue 我嚐到了舌尖淚水的苦澀滋味 The time has come for me to pay for yesterday 終於到了付出代價的時間 爲了昨日 When I was young 當我年少輕狂
# Author:Allister.Liu # !/usr/bin/env python import sys """ Python3.x對文件的操做 文件的打開模式:(其中r, r+, w+, w, a, a+ 比較經常使用) r 只讀。文件指針被放置在文件的開頭。這是默認模式。 rb 只能以二進制格式讀取。文件指針被放置在文件的開頭。這是默認模式。 r+ 用於讀和寫文件。文件指針置於該文件的開頭。【最經常使用】 rb+ 用於讀取和寫入二進制格式的文件。文件指針置於該文件的開頭。 w 只寫。若是文件存在覆蓋該文件。若是該文件不存在,則建立寫入新文件。 wb 只能以二進制格式寫入。若是文件存在覆蓋該文件。若是該文件不存在,則建立寫入新文件。 w+ 寫入和讀取模式。若是文件存在覆蓋現有文件。若是該文件不存在,建立用於讀寫操做的新文件。 wb+ 用於以二進制格式寫入和讀出文件。若是文件存在覆蓋現有文件。若是該文件不存在,建立用於讀寫操做的新文件。 a 用於追加的文件。文件指針是在文件是否存在該文件的末尾。也就是說,該文件是在追加模式。若是該文件不存在,它會建立一個用於寫入的新文件。 ab 用於二進制格式追加。文件指針是在文件是否存在該文件的末尾。也就是說,文件是在追加模式。 若是該文件不存在,它會建立一個用於寫入的新文件。 a+ 追加和讀取方式。文件指針是在文件是否存在該文件的末尾。該文件以追加模式打開。若是該文件不存在,它將建立用於讀寫操做的新文件。 ab+ 附加和二進制格式讀取模式。若是該文件存在文件指針在該文件的末尾。該文件以追加模式打開。若是該文件不存在,它將建立讀寫操做的新文件。 二進制開發文件時不能加 encoding="utf-8" """ """ 讀模式: """ # f = open("yesterday", 'r', encoding="utf-8") # 文件句柄 # data = f.read() # print(data) """ 寫模式:建立新文件,覆蓋原文件 """ # f = open("yesterday", 'w', encoding="utf-8") # f.write("我愛北京天安門。。。。。。。。。。。。") """ 追加模式:打開文件,在最後追加內容 """ # f = open("yesterday", 'a', encoding="utf-8") # f.write("\n我愛北京天安門。。。。。。。。。。。。") # """ 需求:打印出yesterday的內容,但第十行使用"--------------"覆蓋掉原內容 Note:建議使用第二種方法 readlines(): 將文件的整個內容加載到內存,若是文件太大會撐爆內存; 而第二種是內存中只會保留一行,讀一行刪除一行 """ f = open("yesterday", "r", encoding="utf-8") # 第一種方法: # for index, line in enumerate(f.readlines()): # if index == 9: # print("".center(30, "-")) # continue # print(line.strip()) # 第二種方法: # count = 0 # for line in f: # if count == 9: # print("".center(30, "-")) # count += 1 # continue # print(line.strip()) # count += 1 """ 文件讀取指針 """ # print(f.tell()) # 文件讀取的指針位置 字符 # f.seek(0) # 設置文件讀取的指針位置 # print(f.seekable()) # 判斷文件位置指針是否能夠移動,tty等文件不能移動 # 文件經常使用方法: print(f.encoding) # 文件編碼 print(f.isatty()) # 是不是終端設備 好比打印機等 print(f.readable()) # 判斷文件是否可讀 print(f.writable()) # 判斷文件是否可寫 # 將數據強制寫入文件中,具體用法及說明請看:progress_bar.py # f.flush() print(f.closed) # 判斷文件是否被關閉 f1 = open("yesterday", "a", encoding="utf-8") """ 文件的截取: truncate(x):將文件內容截取x個字符,不指定則所有截取,返回截取字符數 """ # print(f1.truncate(1002)) """ b 二進制:無需指定編碼方式,寫入時先轉碼爲二進制 """ f2 = open("yesterday2", "wb") # f2.write("Hello World!".encode("utf-8")) # 以二進制格式讀取 f3 = open("yesterday", "rb") # print(f3.readline()) f.close() f1.close() f2.close() f3.close() print("以上是文件的讀取和新增,如下是文件的修改操做".center(80, "~")) """ 需求: 將yesterday文件中的「昨日當我年少輕狂」修改成「以前,當我很小時。」 文件的修改操做: 一、第一種:能夠將文件一行一行讀取並寫入新文件,並判斷某一行是否要修改,若修改,則將修改後的內容寫入新文件;需打開兩個文件一個讀一個寫 一、第二種:能夠像vim一行,將文件所有加載到內存,修改完成後又寫入進去,這個不建議使用,大文件會撐爆內存。 """ # 第一種 file1 = open("yesterday", "r", encoding="utf-8") file2 = open("yesterday8", "w", encoding="utf-8") for line in file1: if "昨日當我年少輕狂" in line: line = line.replace("昨日當我年少輕狂", "以前,當我很小時。") file2.write(line) file1.close() file2.close() # 第一種方式優化,實現傳參數 # find_param = sys.argv[1] # replace_param = sys.argv[2] # print("參數1 %s, 參數2 %s" %(find_param, replace_param)) # file3 = open("yesterday", "r", encoding="utf-8") # file4 = open("yesterday8", "w", encoding="utf-8") # # for line in file3: # if find_param in line: # line = line.replace(find_param, replace_param) # file4.write(line) # # file3.close() # file4.close() """ with:爲了不打開文件忘記關閉,能夠經過管理上下文; 語法: with open("yesterday") as f: ... 當with代碼塊執行完,內部會自動關閉並釋放文件資源。 在Python2.7後,with支持對多個文件的上下文進行管理; 語法: with open("yesterday") as f, open("yesterday") as f1: ... """ # 使用with同時管理多個文件,官方規範:一行不超過80個字符; with open("yesterday", "r", encoding="utf-8") as f8, \ open("yesterday", "r", encoding="utf-8") as f9: print(f8.readline()) print(f9.readline())
# Author:Allister.Liu # !/usr/bin/env python import sys, time """ flush():強制將數據寫入,若是不flush(),緩衝區達到必定量時,數據纔會寫入 例如: 如下進度條:sys.stdout.flush() 若是沒有這個flush,#號會所有一塊兒打印出來,並非一個一個打印。 """ for i in range(100): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.02)
下圖僅適用於Python2.xpython
(上圖來源於金角大王)vim