在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ exercise17.更多文件操作
附錄 A-練習 9:生成一個空文件(Touch, New-Item)
附錄 A-練習 10:復制文件 (cp)
exercise44.繼承 Vs.包含
附錄 A-練習 14:刪除文件 (rm)
附錄 A-練習 11:移動文件 (mv)
exercise46.項目骨架
附錄 A-練習 3:如果你迷路了
exercise37.復習符號
exercise47.自動化測試
exercise3.數(shù)字和數(shù)學計算
附錄 A-練習 1:安裝
exercise32.循環(huán)和列表
exercise31.做出決定
exercise42.對象、類、以及從屬關系
exercise48.更復雜的用戶輸入
下一步
簡介
附錄 A-練習 7:刪除路徑 (rmdir)
exercise49.寫代碼語句
exercise18.命名, 變量, 代碼, 函數(shù)
exercise12.提示別人
exercise14.提示和傳遞
exercise40.模塊, 類和對象
附錄 A-練習 12:查看文件 (less, MORE)
exercise9.打印, 打印, 打印
exercise13.參數(shù), 解包, 變量
exercise30. Else 和 If
exercise28. 布爾表達式
附錄 A-練習 4:創(chuàng)建一個路徑 (mkdir)
附錄 A-練習 15:退出命令行 (exit)
exercise25. 更多更多的練習
exercise6.字符串和文本
exercise2.注釋和井號“#”
exercise21. 函數(shù)的返回值
附錄 A-下一步
exercise1.第一個程序
exercise23. 閱讀代碼
附錄 A-練習 5:改變當前路徑 (cd)
exercise17.更多文件操作
exercise24. 更多的練習
exercise19.函數(shù)和變量
exercise51.從瀏覽器獲取輸入
exercise22. 到目前為止你學到了什么?
exercise41.學會說面向對象
exercise52.開始你的 web 游戲
exercise20. 函數(shù)和文件
exercise15.讀文件
exercise45.你來制作一個游戲
exercise10.那是什么?
exercise8.打印, 打印
exercise35.分支和函數(shù)
exercise26. 恭喜你,可以進行一次考試了
exercise33.while 循環(huán)
exercise29. IF 語句
exercise36.設計和調試
exercise0.安裝和準備
exercise50.你的第一個網(wǎng)站
附錄 A-練習 2:路徑, 文件夾, 名錄 (pwd)
exercise38.列表操作
附錄 A-練習 6:列出當前路徑 (ls)
exercise16.讀寫文件
exercise4.變量和命名
exercise34.訪問列表元素
exercise11.提問
exercise43.基本的面向對象的分析和設計
附錄 A-簡介
附錄 A-練習 8:目錄切換(pushd, popd)
來自老程序員的建議
exercise27. 記住邏輯
exercise5.更多的變量和打印
exercise7.更多的打?。ㄝ敵觯?/span>
附錄 A-練習 13:輸出文件 (cat)
exercise39.字典,可愛的字典

exercise17.更多文件操作

現(xiàn)在讓我們再學習幾種文件操作。我們將編寫一個 Python 腳本,將一個文件中的內容拷貝到另外一個文件中。這個腳本很短,不過它會讓你對于文件操作有更多的了解。

from sys import argv
from os.path import exists

script, from_file, to_file = argv

print "Copying from %s to %s" % (from_file, to_file)

# we could do these two on one line, how?
in_file = open(from_file)
indata = in_file.read()

print "The input file is %d bytes long" % len(indata)

print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to continue, CTRL-C to abort."
raw_input()

out_file = open(to_file, 'w')
out_file.write(indata)

print "Alright, all done."

out_file.close()
in_file.close()

你應該很快注意到了我們 import 了又一個很好用的命令 exists。這個命令將文件名字符串作為參數(shù),如果文件存在的話,它將返回 True,否則將返回 False。在本書的下半部分,我們將使用這個函數(shù)做很多的事情,不過現(xiàn)在你應該學會怎樣通過 import 調用它.

通過使用 import,你可以在自己代碼中直接使用其他更厲害的(通常是這樣,不過也不 盡然)程序員寫的大量免費代碼,這樣你就不需要重寫一遍了。

你看到的結果

和你前面寫的腳本一樣,運行該腳本需要兩個參數(shù),一個是待拷貝的文件,一個是要拷貝至的文件。我再創(chuàng)建一個名為 test.txt 的測試文件,我們將看到如下的結果:

$ echo "This is a test file." > test.txt

$ cat test.txt This is a test file. $ $ python ex17.py test.txt new_file.txt Copying from test.txt to new_file.txt The input file is 21 bytes long Does the output file exist? False Ready, hit RETURN to continue, CTRL-C to abort.

Alright, all done.

該命令對于任何文件都應該是有效的。試試操作一些別的文件看看結果。不過小心別把你的重要文件給弄壞了。

Warning: 你看到我用 echo 命令創(chuàng)建一個文件,并用 cat 命令展示一個文件了吧?它們只能在 Linux 和 OSX 下使用,你可以閱讀附錄 A 獲得者兩個命令的使用方法。

附加題

1.這個腳本 實在是有點煩人。沒必要在拷貝之前問一遍把,沒必要在屏幕上輸出那么多東西。試著刪掉腳本的一些功能,讓它使用起來更加友好。 2.看看你能把這個腳本改多短,我可以把它寫成一行。 3.我使用了一個叫 cat 的東西,這個古老的命令的用處是將兩個文件“連接(concatenate)”到一起,不過實際上它最大的用途是打印文件內容到屏幕上。你可以通過 man cat 命令了解到更多信息。(windows 下沒有這個命令) 4.找出為什么你需要在代碼中寫 output.close() 。 5.再多讀讀和 import 相關的材料,將 python 運行起來,試試這一條命令。試著看看自己能不能摸出點門道,當然了,即使弄不明白也沒關系。

常見問題

Q: 為什么'w'要寫在引號里?

它只是個字符串,你已經(jīng)做過太多關于字符串的練習了,你知道什么是字符串的,對嗎?

Q:總是感覺這些練習很難,這正常嗎?

這很正常的。直到你做完練習 36 甚至完成這本書的學習,用 python 做出一些作品,編程對你來說可能都不是一件簡單的事情。每個人都不一樣,所以只要堅持復習你認為困難的習題,直到你真的搞明白它們,要有耐心。

Q:函數(shù) len()是干什么用的?

它能獲得參數(shù)的長度,返回值是一個數(shù)字,你試著用用這個方法。

Q:我嘗試改短代碼的時候,在腳本的結尾處遇到一個關于文件關閉的問題。

你可能做了一些類似這樣的事情,比如 indata = open(from_file).read(),這樣寫的話,就不需要在執(zhí)行關閉操作,當執(zhí)行完這一行的時候,文件自動就被關閉了。

Q: 我遇到一個異常 Syntax:EOL while scanning string literal

你應該是忘記在字符串的結尾加上引號了,回到你出錯的那行代碼,檢查一下。