《笨辦法學Python》 習題17 更多檔案操作

2021-09-29 23:12:44 字數 2171 閱讀 4630

系統:mac os 10.14

python: 2.7.10

版本:《笨辦法學python》(第四版)

1. 完成基本習題

1. 再多讀讀和import相關的材料,將python執行起來,試試這一條命令。

試著看 看自己能不能摸出點門道,當然了,即使弄不明白也沒關係。

2. 這個指令碼 實在是 有點煩人。沒必要在拷貝之前問一遍把,沒必要在螢幕上輸出那麼 多東西。試著刪掉指令碼的一些功能,讓它使用起來更加友好。

from sys import ar**

from os.path import exists

script, from_file, to_file = ar**

# we could do these two on one line too, how?

input

=open

(from_file)

indata =

input

.read(

)output =

open

(to_file,

'w')

output.write(indata)

output.close(

)input

.close(

)

3. 看看你能把這個指令碼改多短,我可以把它寫成一行。
open

(to_file,

'w')

.write(

open

(from_file)

.read(

))

4. cat命令

我使用了乙個叫 cat 的東西,這個古老的命令的用處是將兩個檔案「連線(con * cat * enate)」到一起,不過實際上它最大的用途是列印檔案內容到螢幕上。你可以通過 man cat 命令了解到更多資訊。

5. 使用 windows 的同學,你們可以給自己找乙個 cat 的替代品

關於 man 的東西就別想太多了,windows 下沒這個命令

6. 找出為什麼你需要在**中寫 output.close()

原因在於如果不寫,則新複製的檔案中是不會儲存任何內容的。也就是沒有儲存

out_put = open(to_file, 『w』) 執行時會建立 to_file 檔案,但是沒內容

out_put.write(indata) 執行時,內容會寫入到 to_file 的記憶體資料中,但仍未寫入硬碟。

只有在執行 close 時 python 才指定文字的各種操作已經結束了,不會再有任何變化,這個時候在寫入硬碟可以盡可能地減少硬碟讀寫操作,提高效率(特別在特大檔案的時候)

參考文章:

《笨辦法學python》習題17 更多檔案操作

from sys import argv from os.path import exists 我們 import 了又乙個很好用的命令 exists。這個命令將檔名字串作為引數,如果檔案存在的話,它將返回 true,否則將返回 false。script,from file,to file argv...

笨辦法學python 習題17 更多檔案操作

檔案內容拷貝 從sys模組匯入ar 引數變數 from sys import ar 從os.path模組匯入exists 判斷檔案路徑 from os.path import exists 解包 from file和to file定義兩個檔名 script,from file,to file ar ...

《笨辦法學python》習題38 40

mystuff 然後作者又給出了乙個錯誤的情況 class thing object def test hi print hia thing a.test hello 錯誤原因是test 只可以接受乙個引數,卻給了兩個。也就是 a.test hello 實際上是test a,hello 從這裡開始到...