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

習(xí)題 17: 更多文件操作?

現(xiàn)在讓我們?cè)賹W(xué)習(xí)幾種文件操作。我們將編寫(xiě)一個(gè) Python 腳本,將一個(gè)文件中的內(nèi)容拷貝到另外一個(gè)文件中。這個(gè)腳本很短,不過(guò)它會(huì)讓你對(duì)于文件操作有更多的了解。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 too, how?
input = open(from_file)
indata = input.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()

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

print "Alright, all done."

output.close()
input.close()

你應(yīng)該很快注意到了我們 import 了又一個(gè)很好用的命令 exists。這個(gè)命令將文件名字符串作為參數(shù),如果文件存在的話(huà),它將范圍 True, 否則將范圍 False 。在本書(shū)的下半部分,我們將使用這個(gè)函數(shù)做很多的事情,不過(guò)現(xiàn)在你應(yīng)該了解到你可以怎樣 import 它。

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

你應(yīng)該看到的結(jié)果?

和你前面寫(xiě)的腳本一樣,運(yùn)行該腳本需要兩個(gè)參數(shù),一個(gè)是待拷貝的文件,一個(gè)是要拷貝至的文件。如果我們使用以前的 test.txt 我們將看到如下的結(jié)果:

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

Alright, all done.

$ cat copied.txt
To all the people out there.
I say I don't like my hair.
I need to shave it off.
$

該命令對(duì)于任何文件都應(yīng)該是有效的。試試操作一些別的文件看看結(jié)果。不過(guò)小心別把你的重要文件給弄壞了。

Warning

你看到我用 cat 這個(gè)命令了吧?它只能在 Linux 和 OSX 下面使用,使用 Windows 的就只好跟你說(shuō)聲抱歉了。

加分習(xí)題?

  1. 再多讀讀和 import 相關(guān)的材料,將 python 運(yùn)行起來(lái),試試這一條命令。試著看看自己能不能摸出點(diǎn)門(mén)道,當(dāng)然了,即使弄不明白也沒(méi)關(guān)系。
  2. 這個(gè)腳本 實(shí)在是 有點(diǎn)煩人。沒(méi)必要在拷貝之前問(wèn)一遍把,沒(méi)必要在屏幕上輸出那么多東西。試著刪掉腳本的一些功能,讓它使用起來(lái)更加友好。
  3. 看看你能把這個(gè)腳本改多短,我可以把它寫(xiě)成一行。
  4. 我使用了一個(gè)叫 cat 的東西,這個(gè)古老的命令的用處是將兩個(gè)文件“連接(con*cat*enate)”到一起,不過(guò)實(shí)際上它最大的用途是打印文件內(nèi)容到屏幕上。你可以通過(guò) man cat 命令了解到更多信息。
  5. 使用 Windows 的同學(xué),你們可以給自己找一個(gè) cat 的替代品。關(guān)于 man 的東西就別想太多了,Windows 下沒(méi)這個(gè)命令。
  6. 找出為什么你需要在代碼中寫(xiě) output.close()

Project Versions

Table Of Contents

Previous topic

習(xí)題 16: 讀寫(xiě)文件

Next topic

習(xí)題 18: 命名、變量、代碼、函數(shù)

This Page

新龙县| 万荣县| 新闻| 玉环县| 万山特区| 鹤山市| 响水县| 乌兰察布市| 庄河市| 怀化市| 赤城县| 临安市| 璧山县| 珠海市| 涿鹿县| 大同县| 章丘市| 台前县| 旺苍县| 湄潭县| 襄城县| 徐闻县| 绥芬河市| 英山县| 会泽县| 虞城县| 阜阳市| 将乐县| 山西省| 平果县| 天等县| 义马市| 克拉玛依市| 景德镇市| 平山县| 临高县| 富裕县| 中山市| 南康市| 庆云县| 长子县|