讀取鍵盤的輸入
Python提供了input()
內(nèi)置函數(shù)從標(biāo)準(zhǔn)輸入讀入一行文本渡讼,默認(rèn)的標(biāo)準(zhǔn)輸入是鍵盤骂束。input
可以接收一個Python表達(dá)式作為輸入,并將運算結(jié)果返回成箫,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat input.py
#!/usr/bin/python3
str=input("Please input: ")
print("What you input is: ",str)
biotest@biotest-VirtualBox:~/python3/03file$ python3 input.py
Please input: Hello
What you input is: Hello
文件的讀取
open()
將會返回一個file對象展箱,基本語法格式為open(filename,mode)
,其中filename
:包含了你要訪問的文件名稱的字符串值蹬昌。mode
決定了打開文件的模式混驰,打開文件的模式有:①只讀;②寫入皂贩;③追加栖榨。這個參數(shù)是非強制的,默認(rèn)文件訪問模式為只讀(r)
明刷。不同模式打開文件的完全列表:
模式 | 描述 |
---|---|
r | 以只讀方式打開文件婴栽。文件的指針將會放在文件的開頭。這是默認(rèn)模式辈末。 |
rb | 以二進制格式打開一個文件用于只讀愚争。文件指針將會放在文件的開頭。 |
r+ | 打開一個文件用于讀寫本冲。文件指針將會放在文件的開頭准脂。 |
rb+ | 以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭檬洞。 |
w | 打開一個文件只用于寫入狸膏。如果該文件已存在則將其覆蓋。如果該文件不存在添怔,創(chuàng)建新文件湾戳。 |
wb | 以二進制格式打開一個文件只用于寫入贤旷。如果該文件已存在則將其覆蓋。如果該文件不存在砾脑,創(chuàng)建新文件幼驶。 |
w+ | 打開一個文件用于讀寫。如果該文件已存在則將其覆蓋韧衣。如果該文件不存在盅藻,創(chuàng)建新文件。 |
wb+ | 以二進制格式打開一個文件用于讀寫畅铭。如果該文件已存在則將其覆蓋氏淑。如果該文件不存在,創(chuàng)建新文件硕噩。 |
a | 打開一個文件用于追加假残。如果該文件已存在,文件指針將會放在文件的結(jié)尾炉擅。也就是說辉懒,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在谍失,創(chuàng)建新文件進行寫入眶俩。 |
ab | 以二進制格式打開一個文件用于追加。如果該文件已存在袱贮,文件指針將會放在文件的結(jié)尾仿便。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后攒巍。如果該文件不存在,創(chuàng)建新文件進行寫入荒勇。 |
a+ | 打開一個文件用于讀寫柒莉。如果該文件已存在,文件指針將會放在文件的結(jié)尾沽翔。文件打開時會是追加模式兢孝。如果該文件不存在,創(chuàng)建新文件用于讀寫仅偎。 |
ab+ | 以二進制格式打開一個文件用于追加跨蟹。如果該文件已存在,文件指針將會放在文件的結(jié)尾橘沥。如果該文件不存在窗轩,創(chuàng)建新文件用于讀寫。 |
下圖總結(jié)了這幾種模式(出處:菜鳥教程):
[圖片上傳失敗...(image-895a1-1551584864578)]
模式 | r | r+ | w | w+ | a | a+ |
---|---|---|---|---|---|---|
讀 | + | + | + | + | ||
寫 | + | + | + | + | + | |
創(chuàng)建 | + | + | + | + | ||
覆蓋 | + | + | ||||
指針在開始 | + | + | + | + | ||
指針在結(jié)尾 | + | + |
文件讀寫案例
下面的代碼會將一些字符串寫入到文件foo.txt
中座咆,代碼如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat write.py
#!/usr/bin/python3
# open a file
# If this file does not exist, python will create it
# You can use absolute path or current path;
f = open("foo.txt","w")
f.write("Python is a good program language.\n Yes, it is very good!\n")
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 write.py
biotest@biotest-VirtualBox:~/python3/03file$ ls
foo.txt input.py write.py
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
代碼解釋:open()
括號中是文件路徑痢艺,如果不指明絕對路徑仓洼,則就會默認(rèn)為當(dāng)前目錄;如果文件存在堤舒,就打開色建,如果不存在,代碼會創(chuàng)建這個文件舌缤。
文件對象的方法
file對象常用函數(shù)
file對象使用open函數(shù)來創(chuàng)建箕戳,下表列出了file對象常用的函數(shù):
序號 | 方法及描述 |
---|---|
1 | file.close():關(guān)閉文件。關(guān)閉后文件不能再進行讀寫操作国撵。 |
2 | file.flush():刷新文件內(nèi)部緩沖漂羊,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件, 而不是被動的等待輸出緩沖區(qū)寫入。 |
3 | file.fileno():返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上卸留。 |
4 | file.isatty():如果文件連接到一個終端設(shè)備返回 True走越,否則返回 False。 |
5 | file.next():返回文件下一行耻瑟。 |
6 | file.read([size]):從文件讀取指定的字節(jié)數(shù)旨指,如果未給定或為負(fù)則讀取所有。 |
7 | file.readline([size]):讀取整行喳整,包括 "\n" 字符谆构。 |
8 | file.readlines([sizeint]):讀取所有行并返回列表,若給定sizeint>0框都,返回總和大約為sizeint字節(jié)的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩沖區(qū)搬素。 |
9 | file.seek(offset[, whence]):設(shè)置文件當(dāng)前位置 |
10 | file.tell():返回文件當(dāng)前位置。 |
11 | file.truncate([size]):從文件的首行首字符開始截斷魏保,截斷文件為 size 個字符熬尺,無 size 表示從當(dāng)前位置截斷;截斷之后后面的所有字符被刪除谓罗,其中 Widnows 系統(tǒng)下的換行代表2個字符大小粱哼。 |
12 | file.write(str):將字符串寫入文件,沒有返回值檩咱。 |
13 | file.writelines(sequence):向文件寫入一個序列字符串列表揭措,如果需要換行則要自己加入每行的換行符。 |
f.read()
為了讀取一個文件的內(nèi)容刻蚯,調(diào)用f.read(size)
,這將讀取一定數(shù)目的數(shù)據(jù),然后作為字符串或字節(jié)對象返回炊汹。size
是一個可選的數(shù)字類型的參數(shù)。當(dāng)size
被忽略了或者為負(fù),那么該文件的所有內(nèi)容都將被讀取并且返回,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
biotest@biotest-VirtualBox:~/python3/03file$ cat read.py
#!/usr/bin/python3
# open a file
f = open("foo.txt","r")
str=f.read()
print(str)
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 read.py
Python is a good program language.
Yes, it is very good!
f.readline()
f.readline()
會從文件中讀取單獨的一行妙蔗,換行符為\n
,f.readline()
如果返回一個空字符串寸五,說明已經(jīng)讀取到了最后一下梳杏,看下面的案例:
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
biotest@biotest-VirtualBox:~/python3/03file$ cat readline.py
#!/usr/bin/python3
f=open("foo.txt","r")
str=f.readline()
print(str)
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 readline.py
Python is a good program language.
f.readlines()
f.readlines()
將返回該文件中包含的所有行。如果設(shè)置可選參數(shù)sizehint
,則讀取指定長度的字節(jié),并且將這些字節(jié)按行分割劲适,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
biotest@biotest-VirtualBox:~/python3/03file$ cat readlines.py
#!/usr/bin/python3
f = open("foo.txt","r")
str=f.readlines()
print(str)
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 readlines.py
['Python is a good program language.\n', ' Yes, it is very good!\n']
另外一種讀取文件內(nèi)容的方式就是對文件中的行進行迭代霞势,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
biotest@biotest-VirtualBox:~/python3/03file$ cat iteration.py
#!/usr/bin/python3
f=open("foo.txt","r")
for line in f:
print(line,end=" ")
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 iteration.py
Python is a good program language.
Yes, it is very good!
f.write()
f.write(string)會將string寫入到文件中斑鸦,然后返回寫入的字符數(shù)鄙才,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good program language.
Yes, it is very good!
biotest@biotest-VirtualBox:~/python3/03file$ cat f_write.py
#!/usr/bin/python3
f = open("foo.txt","w")
num = f.write("Python is a good tool.\n Yes, it is good!\n")
print(num)
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 f_write.py
41
biotest@biotest-VirtualBox:~/python3/03file$ cat foo.txt
Python is a good tool.
Yes, it is good!
如果要寫入一些非字符串的東西, 那么將需要先進行轉(zhuǎn)換攒庵,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat string_trans.py
#!/usr/bin/python3
f = open("foo1.txt","w")
value = ('www.runoob.com',14)
s = str(value)+"\n"
f.write(s)
f.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 string_trans.py
biotest@biotest-VirtualBox:~/python3/03file$ cat foo1.txt
('www.runoob.com', 14)
f.tell()
f.tell()
返回文件對象當(dāng)前所處的位置,它是從文件開頭開始算起的字節(jié)數(shù)。
f.seek()
如果要改變文件當(dāng)前的位置,可以使用f.seek(offset,from_what)
函數(shù)。
from_what
的值,如果是0表示開頭,如果是1表示當(dāng)前位置,2表示文件的結(jié)尾场梆,例如:
- seek(x,0):從起始位置即文件首行首字符開始移動x個字符
- seek(x,1):表示從當(dāng)前位置往后移動x個字符
- seek(-x,2):表示從文件的結(jié)尾往前移動x個字符
- from_what值為默認(rèn)為0寞忿,即文件開頭。
看下面的案例:
>>> f=open('foo.txt','rb+')
>>> f.write(b'0123456789abcdef')
16
>>> f.seek(5)
5
>>> f.read(1)
b'5'
>>> f.seek(-3,2)
38
>>> f.read(1)
b'd'
f.close()
在文本文件中(那些打開文件的模式下沒有b
的)辖佣,只會相對于文件起始位置進行定位卷谈。當(dāng)你處理完一個文件后杯拐,調(diào)用f.close()
來關(guān)閉文件并釋放系統(tǒng)的資源世蔗,如果嘗試再調(diào)用該文件,則會拋出異常凸郑,如下所示:
>>> f.close()
>>> f.read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: read of closed file
當(dāng)處理一個文件對象時,使用with
關(guān)鍵字是非常好的方式。在結(jié)束后,它會幫你正確的關(guān)閉文件芙沥,如下所示:
>>> with open('foo.txt','r') as f:
... read_data = f.read()
...
>>>
>>> f.closed
True
pickle模塊
python的pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列和反序列化诲祸。通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去,永久存儲救氯。通過pickle模塊的反序列化操作歌憨,我們能夠從文件中創(chuàng)建上一次程序保存的對象甲抖∽佳瑁基本接口如下所示:
pickle.dump(obj, file, [,protocol])
有了 pickle 這個對象, 就能對 file 以讀取的形式打開柱衔,即x = pickle.load(file0
)。file表示類文件對象唆铐,它有read()
和readline()
接口哲戚,看下面的案例:
biotest@biotest-VirtualBox:~/python3/03file$ cat pickly.py
#!/usr/bin/python3
import pickle
# using pickle module to save data object to a file
data1 = {'a':[1,2.0,3,4+6j],
'b':('string',u'Unicode string'),
'c':None}
selfref_list = [1,2,3]
selfref_list.append(selfref_list)
output = open('data.pkl','wb')
# Pickle dictionary using protocol 0.
pickle.dump(data1,output)
# Pickle th elist using the highest protocol available.
pickle.dump(selfref_list,output,-1)
output.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 pickly.py
biotest@biotest-VirtualBox:~/python3/03file$ ls
data.pkl foo.txt input.py pickly.py readline.py read.py string_trans.py
foo1.txt f_write.py iteration.py __pycache__ readlines.py seek.py write.py
在當(dāng)前目錄下生成了一個data.pkl
文件,打開后是亂碼艾岂,現(xiàn)在不清楚這個文件什么意思顺少,接著還有一段代碼,如下所示:
biotest@biotest-VirtualBox:~/python3/03file$ cat pickle2.py
#!/usr/bin/python3
import pprint, pickle
pkl_file = open('data.pkl','rb')
data1 = pickle.load(pkl_file)
pprint.pprint(data1)
data2 = pickle.load(pkl_file)
pprint.pprint(data2)
pkl_file.close()
biotest@biotest-VirtualBox:~/python3/03file$ python3 pickle2.py
{'a': [1, 2.0, 3, (4+6j)], 'b': ('string', 'Unicode string'), 'c': None}
[1, 2, 3, <Recursion on list with id=140696236160136>]
上述代碼解釋:
目錄操作
Python中的目錄操作有這些:
序號 | 方法及描述 |
---|---|
1 | os.access(path, mode):檢驗權(quán)限模式 |
2 | os.chdir(path):改變當(dāng)前工作目錄 |
3 | os.chflags(path, flags):設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記澳盐。 |
4 | os.chmod(path, mode):更改權(quán)限 |
5 | os.chown(path, uid, gid):更改文件所有者 |
6 | os.chroot(path):改變當(dāng)前進程的根目錄 |
7 | os.close(fd):關(guān)閉文件描述符 fd |
8 | os.closerange(fd_low, fd_high):關(guān)閉所有文件描述符祈纯,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 |
9 | os.dup(fd):復(fù)制文件描述符 fd |
10 | os.dup2(fd, fd2):將一個文件描述符 fd 復(fù)制到另一個 fd2 |
11 | os.fchdir(fd):通過文件描述符改變當(dāng)前工作目錄 |
12 | os.fchmod(fd, mode):改變一個文件的訪問權(quán)限,該文件由參數(shù)fd指定叼耙,參數(shù)mode是Unix下的文件訪問權(quán)限腕窥。 |
13 | os.fchown(fd, uid, gid):修改一個文件的所有權(quán),這個函數(shù)修改一個文件的用戶ID和用戶組ID筛婉,該文件由文件描述符fd指定簇爆。 |
14 | os.fdatasync(fd):強制將文件寫入磁盤,該文件由文件描述符fd指定爽撒,但是不強制更新文件的狀態(tài)信息入蛆。 |
15 | os.fdopen(fd[, mode[, bufsize]]):通過文件描述符 fd 創(chuàng)建一個文件對象,并返回這個文件對象 |
16 | os.fpathconf(fd, name):返回一個打開的文件的系統(tǒng)配置信息硕勿。name為檢索的系統(tǒng)配置的值哨毁,它也許是一個定義系統(tǒng)值的字符串,這些名字在很多標(biāo)準(zhǔn)中指定(POSIX.1, Unix 95, Unix 98, 和其它)源武。 |
17 | os.fstat(fd):返回文件描述符fd的狀態(tài)扼褪,像stat()。 |
18 | os.fstatvfs(fd):返回包含文件描述符fd的文件的文件系統(tǒng)的信息粱栖,像 statvfs() |
19 | os.fsync(fd):強制將文件描述符為fd的文件寫入硬盤话浇。 |
20 | os.ftruncate(fd, length):裁剪文件描述符fd對應(yīng)的文件, 所以它最大不能超過文件大小。 |
21 | os.getcwd():返回當(dāng)前工作目錄 |
22 | os.getcwdu():返回一個當(dāng)前工作目錄的Unicode對象 |
23 | os.isatty(fd):如果文件描述符fd是打開的闹究,同時與tty(-like)設(shè)備相連幔崖,則返回true, 否則False。 |
24 | os.lchflags(path, flags):設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記渣淤,類似 chflags()赏寇,但是沒有軟鏈接 |
25 | os.lchmod(path, mode):修改連接文件權(quán)限 |
26 | os.lchown(path, uid, gid):更改文件所有者,類似 chown价认,但是不追蹤鏈接蹋订。 |
27 | os.link(src, dst):創(chuàng)建硬鏈接,名為參數(shù) dst刻伊,指向參數(shù) src |
28 | os.listdir(path):返回path指定的文件夾包含的文件或文件夾的名字的列表。 |
29 | os.lseek(fd, pos, how):設(shè)置文件描述符 fd當(dāng)前位置為pos, how方式修改: SEEK_SET 或者 0 設(shè)置從文件開始的計算的pos; SEEK_CUR或者 1 則從當(dāng)前位置計算; os.SEEK_END或者2則從文件尾部開始. 在unix,Windows中有效 |
30 | os.lstat(path):像stat(),但是沒有軟鏈接 |
31 | os.major(device):從原始的設(shè)備號中提取設(shè)備major號碼 (使用stat中的st_dev或者st_rdev field)捶箱。 |
32 | os.makedev(major, minor):以major和minor設(shè)備號組成一個原始設(shè)備號 |
33 | os.makedirs(path[, mode]):遞歸文件夾創(chuàng)建函數(shù)智什。像mkdir(), 但創(chuàng)建的所有intermediate-level文件夾需要包含子文件夾。 |
34 | os.minor(device):從原始的設(shè)備號中提取設(shè)備minor號碼 (使用stat中的st_dev或者st_rdev field )丁屎。 |
35 | os.mkdir(path[, mode]):以數(shù)字mode的mode創(chuàng)建一個名為path的文件夾.默認(rèn)的 mode 是 0777 (八進制)荠锭。 |
36 | os.mkfifo(path[, mode]):創(chuàng)建命名管道,mode 為數(shù)字晨川,默認(rèn)為 0666 (八進制) |
37 | os.mknod(filename[, mode=0600, device]):創(chuàng)建一個名為filename文件系統(tǒng)節(jié)點(文件证九,設(shè)備特別文件或者命名pipe)。 |
38 | os.open(file, flags[, mode]):打開一個文件共虑,并且設(shè)置需要的打開選項愧怜,mode參數(shù)是可選的 |
39 | os.openpty():打開一個新的偽終端對。返回 pty 和 tty的文件描述符妈拌。 |
40 | os.pathconf(path, name):返回相關(guān)文件的系統(tǒng)配置信息拥坛。 |
41 | os.pipe():創(chuàng)建一個管道. 返回一對文件描述符(r, w) 分別為讀和寫 |
42 | os.popen(command[, mode[, bufsize]]):從一個 command 打開一個管道 |
43 | os.read(fd, n):從文件描述符 fd 中讀取最多 n 個字節(jié),返回包含讀取字節(jié)的字符串尘分,文件描述符 fd對應(yīng)文件已達(dá)到結(jié)尾, 返回一個空字符串猜惋。 |
44 | os.readlink(path):返回軟鏈接所指向的文件 |
45 | os.remove(path):刪除路徑為path的文件。如果path 是一個文件夾培愁,將拋出OSError; 查看下面的rmdir()刪除一個 directory著摔。 |
46 | os.removedirs(path):遞歸刪除目錄。 |
47 | os.rename(src, dst):重命名文件或目錄定续,從 src 到 dst |
48 | os.renames(old, new):遞歸地對目錄進行更名谍咆,也可以對文件進行更名。 |
49 | os.rmdir(path):刪除path指定的空目錄香罐,如果目錄非空卧波,則拋出一個OSError異常。 |
50 | os.stat(path):獲取path指定的路徑的信息庇茫,功能等同于C API中的stat()系統(tǒng)調(diào)用港粱。 |
51 | os.stat_float_times([newvalue]):決定stat_result是否以float對象顯示時間戳 |
52 | os.statvfs(path):獲取指定路徑的文件系統(tǒng)統(tǒng)計信息 |
53 | os.symlink(src, dst):創(chuàng)建一個軟鏈接 |
54 | os.tcgetpgrp(fd):返回與終端fd(一個由os.open()返回的打開的文件描述符)關(guān)聯(lián)的進程組 |
55 | os.tcsetpgrp(fd, pg):設(shè)置與終端fd(一個由os.open()返回的打開的文件描述符)關(guān)聯(lián)的進程組為pg。 |
56 | os.tempnam([dir[, prefix]]):Python3 中已刪除旦签。返回唯一的路徑名用于創(chuàng)建臨時文件查坪。 |
57 | os.tmpfile():Python3 中已刪除。返回一個打開的模式為(w+b)的文件對象 .這文件對象沒有文件夾入口宁炫,沒有文件描述符偿曙,將會自動刪除。 |
58 | os.tmpnam():Python3 中已刪除羔巢。為創(chuàng)建一個臨時文件返回一個唯一的路徑 |
59 | os.ttyname(fd):返回一個字符串望忆,它表示與文件描述符fd 關(guān)聯(lián)的終端設(shè)備罩阵。如果fd 沒有與終端設(shè)備關(guān)聯(lián),則引發(fā)一個異常启摄。 |
60 | os.unlink(path):刪除文件路徑 |
61 | os.utime(path, times):返回指定的path文件的訪問和修改的時間稿壁。 |
62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]):輸出在文件夾中的文件名通過在樹中游走,向上或者向下歉备。 |
63 | os.write(fd, str):寫入字符串到文件描述符 fd中. 返回實際寫入的字符串長度 |
目錄操作的函數(shù)太多傅是,用到的時候再學(xué)習(xí),下面只列出幾個簡單的案例:
顯示某文件夾下的所有文件名
代碼如下:
C:\Users\20161111>type practice.py
import os
for filename in os.listdir('d:/Software'):
print(filename)
C:\Users\20161111>python practice.py
office_tools
Professional_tools
ProgramTool
SnapGene 3.2.1 Win
system_enhance
windows_iso
谷歌批量翻譯
創(chuàng)建某個目錄
>>> import os
>>> os.mkdir("d:/Software/test")
>>> exit()
C:\Users\20161111>d:
D:\>cd software
D:\software>dir
Volume in drive D is 新加卷
Volume Serial Number is C0C6-2E4F
Directory of D:\software
2018/05/24 09:33 <DIR> .
2018/05/24 09:33 <DIR> ..
2018/05/08 13:46 <DIR> office_tools
2018/05/21 10:30 <DIR> Professional_tools
2018/05/08 13:46 <DIR> ProgramTool
2017/11/22 20:21 <DIR> SnapGene 3.2.1 Win
2018/05/13 21:38 <DIR> system_enhance
2018/05/24 09:33 <DIR> test # 剛剛創(chuàng)建的文件夾
2018/05/11 00:48 <DIR> windows_iso
2017/11/02 10:52 <DIR> 谷歌批量翻譯
1 File(s) 0 bytes
10 Dir(s) 49,307,074,560 bytes free
刪除某個文件夾
命令rmdir
蕾羊,如下所示:
>>> import os
>>> os.rmdir('d:/Software/test')
>>> exit()
D:\software>dir
Volume in drive D is 新加卷
Volume Serial Number is C0C6-2E4F
Directory of D:\software
2018/05/25 12:40 <DIR> .
2018/05/25 12:40 <DIR> ..
2018/05/08 13:46 <DIR> office_tools
2018/05/21 10:30 <DIR> Professional_tools
2018/05/08 13:46 <DIR> ProgramTool
2017/11/22 20:21 <DIR> SnapGene 3.2.1 Win
2018/05/13 21:38 <DIR> system_enhance
2018/05/11 00:48 <DIR> windows_iso
2017/11/02 10:52 <DIR> 谷歌批量翻譯
1 File(s) 0 bytes
9 Dir(s) 48,131,309,568 bytes free
把D:\Software\test
這個文件夾刪除了 喧笔。
對待定文件的操作
如果要對特定類型的文件進行操作時,需要用fnmatch模塊龟再,這個模塊的主要作用是文件名稱的匹配书闸,并且匹配的模式使用的unix shell風(fēng)格。字面意思感覺就是filename match 吸申,以下是顯示.txt
文件的內(nèi)容和.exe
文件的文件名梗劫,其中*
表示任意字符,而?
只表示一個字符截碴,如下所示: