最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python讀寫文本文件及編寫簡單的文本編輯器

 更新時間:2016年03月11日 15:42:21   作者:lixiang0522  
這篇文章主要介紹了使用Python讀寫文本文件及編寫簡單的文本編輯器的方法,可以利用簡單的Python代碼實現(xiàn)編輯器中的讀取清空和文本文件的新建等操作,需要的朋友可以參考下

學習raw_input和argv是學習讀取文件的前提,你可能不能完全理解這個練習,所以認真學習并檢查。如果不認真的話,很容易刪除一些有用的文件。

這個練習包含兩個文件,一個是運行文件ex15.py,一個是ex15_sample.txt。第二個文件不是腳本文件,只包括一些文本,如下:

This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.

我們要做的就是打開這個文件,然后打印文件內(nèi)容,我們不在代碼中寫死文件名稱,因為我們?nèi)绻x取其他文件的話,就要重新修改代碼,解決這個問題的辦法就是使用argv和raw_input。

from sys import argv 
 
 
script, filename = argv 
 
 
txt = open(filename) 
 
 
print "Here's your file %r:" % filename 
print txt.read() 
 
 
print "Type the filename again:" 
file_again = raw_input("> ") 
 
 
txt_again = open(file_again) 
 
 
print txt_again.read() 

上面的代碼做了一些有意思的事情,讓我們快速的分解一下:

1-3行使用argv取得文件名。第5行使用open命令,現(xiàn)在使用pydoc open看看這個命令的介紹。

第7行打印一行信息,但是第8行有一些新的東西。我們在txt上調(diào)用了一個方法。我們通過open方法得到一個file,這個file有一些我們可以調(diào)用的方法。使用這些方法的方法就是在file后面加一個.(點),比如txt.read(),就像是說:“嘿,執(zhí)行讀取命令,沒有任何參數(shù)!”

剩下部分大家在加分練習中分析吧。

運行結(jié)果

root@he-desktop:~/mystuff# python ex15.py ex15_sample.txt
Here's your file 'ex15_sample.txt':

This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.

Type the filename again:
> ex15_sample.txt
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.


下面幾個文件的命令比較常用:

  • close -- 關(guān)閉文件,相當于編輯器中的File->Save
  • read -- 讀取文件內(nèi)容分配給一個變量
  • readline -- 讀取一行內(nèi)容
  • truncate -- 清空文件,小心使用這個命令
  • write(stuff) -- 寫入文件。

這些是你應(yīng)該知道的重要命令,只有write需要提供參數(shù)。

讓我們使用這些命令實現(xiàn)一個簡單的文本編輯器。

from sys import argv 
 
 
script, filename = argv 
 
 
print "We're going to erase %r." % filename 
print "If you don't want that, hit CTRL-C (^C)." 
print "If you do want that, hot RETURN." 
 
 
raw_input("?") 
 
 
print "Opening the file..." 
target = open(filename, 'w') 
 
 
print "Truncating the file. Goodbye!!" 
target.truncate() 
 
 
print "Now I'm going to ask you for three lines." 
 
 
line1 = raw_input("line 1: ") 
line2 = raw_input("line 2: ") 
line3 = raw_input("line 3: ") 
 
 
print "I'm going to write these to the file." 
 
 
target.write(line1) 
target.write("\n") 
target.write(line2) 
target.write("\n") 
target.write(line3) 
target.write("\n") 
 
 
print "And finally, we close it." 
target.close() 

這個程序比較長,所以慢慢來,讓它能運行起來。有個辦法是,先寫幾行,運行一下,可以運行再寫幾行,直到都可以運行。

運行結(jié)果
你會看到兩個東西,一個是程序的輸出:

root@he-desktop:~/mystuff# python ex16.py test.txt
We're going to erase 'test.txt'.
If you don't want that, hit CTRL-C (^C).
If you do want that, hot RETURN.
?
Opening the file...
Truncating the file. Goodbye!!
Now I'm going to ask you for three lines.
line 1: Hi!
line 2: Welcome to my blog!
line 3: Thank you!
I'm going to write these to the file.
And finally, we close it.

還有就是你新建立的文件,打開看看吧。

相關(guān)文章

  • python tkinter界面居中顯示的方法

    python tkinter界面居中顯示的方法

    今天小編就為大家分享一篇python tkinter界面居中顯示的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python中的iterator和"lazy?iterator"區(qū)別介紹

    python中的iterator和"lazy?iterator"區(qū)別介紹

    這篇文章主要介紹了python中的iterator和?“l(fā)azy?iterator“之間有什么區(qū)別,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python跨平臺路徑格式不一致的處理方法

    Python跨平臺路徑格式不一致的處理方法

    你是不是也遇到過 Python 跨平臺路徑格式不一致的問題?在 Windows、macOS 和 Linux 之間切換時,路徑格式的不同簡直讓人頭疼,今天,我們就來徹底解決這個問題,并告訴你在實際開發(fā)和打包時,哪種方法更好用,需要的朋友跟著小編一起來看看吧
    2025-04-04
  • Pytorch中torch.stack()函數(shù)的深入解析

    Pytorch中torch.stack()函數(shù)的深入解析

    在pytorch中常見的拼接函數(shù)主要是兩個,分別是:stack()和cat(),下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.stack()函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Python之random.sample()和numpy.random.choice()的優(yōu)缺點說明

    Python之random.sample()和numpy.random.choice()的優(yōu)缺點說明

    這篇文章主要介紹了Python之random.sample()和numpy.random.choice()的優(yōu)缺點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python百行代碼實現(xiàn)漢服圈圖片爬取

    python百行代碼實現(xiàn)漢服圈圖片爬取

    這篇文章主要為大家介紹了使用python百行代碼來實現(xiàn)漢服圈的圖片爬取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • python?基于aiohttp的異步爬蟲實戰(zhàn)詳解

    python?基于aiohttp的異步爬蟲實戰(zhàn)詳解

    這篇文章主要為大家介紹了python?基于aiohttp的異步爬蟲實戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Python字典刪除鍵值對和元素的四種方法(小結(jié))

    Python字典刪除鍵值對和元素的四種方法(小結(jié))

    刪除列表或者字符串元素的方法不止一種,同樣,刪除字典元素的方法也不止一種,本文主要介紹python中刪除字典元素的四種方法:1、使用del語句;2、使用clear();3、使用pop();4、使用popitem()。感興趣的可以了解一下
    2021-12-12
  • python獲取文件后綴名及批量更新目錄下文件后綴名的方法

    python獲取文件后綴名及批量更新目錄下文件后綴名的方法

    這篇文章主要介紹了python獲取文件后綴名及批量更新目錄下文件后綴名的方法,實例展示了Python針對文件后綴名的遍歷查找及修改等常用操作技巧,并對其中的關(guān)鍵知識點進行了分析與總結(jié),需要的朋友可以參考下
    2014-11-11
  • python中asyncore異步模塊的實現(xiàn)

    python中asyncore異步模塊的實現(xiàn)

    本文主要介紹了python中asyncore異步模塊的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01

最新評論

邵东县| 静宁县| 乌拉特前旗| 萝北县| 维西| 江北区| 登封市| 建昌县| 嘉黎县| 建宁县| 琼结县| 霍山县| 永平县| 安新县| 宁陕县| 安达市| 耒阳市| 布尔津县| 福鼎市| 汝阳县| 安阳市| 道孚县| 乌拉特中旗| 鹤峰县| 遂宁市| 昭苏县| 河池市| 石泉县| 扶风县| 旬阳县| 朝阳市| 璧山县| 永福县| 肇庆市| 郑州市| 天镇县| 突泉县| 阿荣旗| 紫云| 兴国县| 牡丹江市|