笨方法學(xué)Python的心得體會(huì)-EX20

經(jīng)過了一段時(shí)間的學(xué)習(xí),終于跟著《笨方法學(xué)Python》慢慢學(xué)到了第20題
是的,第20題磕瓷,進(jìn)度有夠慢的,大寫加粗的囧
上班了之后再學(xué)習(xí)的精力和速度確實(shí)比不上在學(xué)校時(shí)候的高效念逞;但是困食,學(xué)習(xí)從來就不是百米沖刺,而是馬拉松翎承,所以硕盹,相信多琢磨,總是會(huì)有進(jìn)步的叨咖。


今天在練習(xí)過程中瘩例,想著把前幾道練習(xí)題的知識(shí)點(diǎn)全部揉在這一題里面啊胶,將知識(shí)點(diǎn)穿插,創(chuàng)造新的有意思的環(huán)境和挑戰(zhàn)垛贤。包括os.path中的exists和sys中的argv焰坪,一起上臺(tái)。
將一個(gè)原本是讀取一存在文件南吮,并打印出來的題目變成了琳彩,判斷指定文件是否存在->是否修改/編輯文件->統(tǒng)計(jì)文件行數(shù)->打印某一行,這種復(fù)雜一些的任務(wù)部凑。
在練習(xí)過程中遇到了諸如露乏,While函數(shù)的缺失導(dǎo)致break函數(shù)的引用錯(cuò)誤,和打印文件中某行文件時(shí)候的游標(biāo)重置問題涂邀。
打怪升級(jí)的日子里瘟仿,還好有學(xué)習(xí)小組的各位大神幫忙打助攻,不然也是一囧到底的比勉。
好劳较,就分開附上各路代碼吧。

# @Program:Exercies20
# @Name:WeiChat威威威
# @Time:2017.6.10


from sys import argv
from os.path import exists

script, input_file = argv

def print_all(f):
           print (f.read())

def rewind(f):
           f.seek(0)

def print_a_line(line_count, f):
           f.seek(0)
           Cal = int(line_count)
           Cal2 = Cal - 1
           print('這是第 %d 行' % Cal)
           print (f.readlines()[Cal2])

首先自定義各路函數(shù)浩聋,f.read(), f.readline(), f.readlines()的用法還真的不一樣观蜗。
建議全盤打印時(shí)候用f.read()
判斷文件行數(shù)時(shí)候用len(f.readlines())

print ('存在一個(gè)這樣的文件嗎? %r' % exists(input_file))
if exists(input_file):
    Judge_1st = input('是否要對(duì)這個(gè)文件進(jìn)行修改衣洁?(是/否): ')
    if Judge_1st != '否':
           Judge_2nd = input('是否要?jiǎng)h除原文件所有內(nèi)容墓捻?(是/否): ')
           if Judge_2nd != '否':
                      current_file = open(input_file, 'w')
                      print ('現(xiàn)在正在刪除原文件內(nèi)容......')
                      print('請(qǐng)輸入你想要輸入的內(nèi)容: \n')
                      while True:

                                line = input('>>: ')
                                if line !='.':
                                    current_file.write(line)
                                    current_file.write('\n')
                                else:
                                    current_file.close()
                                    break
           else:
                      current_file = open(input_file, 'a')

                      print('請(qǐng)輸入你想要輸入的內(nèi)容: \n')
                      while True:
                                 line = input('>>: ')

                                 if line !='.':
                                     current_file.write(line)
                                     current_file.write('\n')
                                 else:
                                     current_file.close()
                                     break
else:
    Judge_1st = input('是否要添加這樣的文件?(請(qǐng)輸入 是/否):')
    if Judge_1st != '否':
        current_file = open(input_file, 'w')
        print('請(qǐng)輸入你想要輸入的內(nèi)容: \n')
        while True:
            line = input('>>: ')
            if line != '.':
                current_file.write(line)
                current_file.write('\n')
            else:
                current_file.close()
                break
    else:
        print('\n好的收工坊夫,( ^_^ )/~~拜拜')

這里的思路是砖第,先判斷是否存在這個(gè)文件,不存在的話是否要新建环凿,否則結(jié)束梧兼。若存在文件是否要修改文件
open(file, 'a')a是會(huì)在文件末尾直接添加輸入der
open(file, 'w')智听,w是會(huì)直接覆蓋原文件內(nèi)容der

Judge_3st = input('是否想查看 % r (請(qǐng)輸入:是/否): ' % input_file)
if Judge_3st != '否':
           current_file = open(input_file, 'r')
           num = len(current_file.readlines())
           #print ('First let\'s print the whole file : \n')

          # print_all(current_file)

           print ('Now let\'s rewind, kind of like a tape.')

           rewind(current_file)
           print ('Let\'s print the lines you want: ')
           print('文件有 %d 行' % num)
           while True:
                      wline = input('你希望看到文件的第幾行羽杰?(請(qǐng)輸入數(shù)字): ')

                      if wline != 'enough':
                                 print_a_line(wline, current_file)
                      else:
                          print('\n好的收工,( ^_^ )/~~拜拜')
                          break
else:
           print ('\n好的到推,收工忽洛,( ^_^ )/~~拜拜')

這樣就可以實(shí)現(xiàn)知道文件有多少行,需要看第幾行的功能啦
啦啦啦啦啦


這條代碼打了一下午环肘,但是收獲還是有的
發(fā)上來分享一下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市集灌,隨后出現(xiàn)的幾起案子悔雹,更是在濱河造成了極大的恐慌复哆,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腌零,死亡現(xiàn)場(chǎng)離奇詭異梯找,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)益涧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門锈锤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闲询,你說我怎么就攤上這事久免。” “怎么了扭弧?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵冒黑,是天一觀的道長(zhǎng)杆烁。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么涮帘? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮掘剪,結(jié)果婚禮上垦梆,老公的妹妹穿的比我還像新娘。我一直安慰自己厚满,他們只是感情好府瞄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著痰滋,像睡著了一般摘能。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敲街,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天团搞,我揣著相機(jī)與錄音,去河邊找鬼多艇。 笑死逻恐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的峻黍。 我是一名探鬼主播复隆,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼姆涩!你這毒婦竟也來了挽拂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤骨饿,失蹤者是張志新(化名)和其女友劉穎亏栈,沒想到半個(gè)月后台腥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绒北,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年黎侈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闷游。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峻汉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脐往,到底是詐尸還是另有隱情休吠,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布钙勃,位于F島的核電站蛛碌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辖源。R本人自食惡果不足惜蔚携,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望克饶。 院中可真熱鬧酝蜒,春花似錦、人聲如沸矾湃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邀跃。三九已至霉咨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拍屑,已是汗流浹背途戒。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留僵驰,地道東北人喷斋。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蒜茴,于是被迫代替她去往敵國(guó)和親星爪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 3,629評(píng)論 0 7
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,145評(píng)論 2 34
  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的粉私,另外根據(jù)自己平時(shí)的積累進(jìn)行修正...
    renyangfar閱讀 3,025評(píng)論 0 10
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程顽腾,因...
    小菜c閱讀 6,365評(píng)論 0 17
  • 孩子:今天是星期三,你今天家庭作業(yè)不多诺核,可是你還是花了將近三個(gè)多小時(shí)才完成崔泵。讓我簽名檢查時(shí)秒赤,還發(fā)現(xiàn)英語(yǔ)默寫沒做。希...
    步步嬌閱讀 191評(píng)論 0 0