Python目錄文件在實(shí)際應(yīng)用操作方案詳解
以下的文章主要是介紹Python目錄文件在并寫(xiě)到name.txt 代碼的示例,以及Python目錄文件在實(shí)際的操作過(guò)程中的實(shí)際應(yīng)用方案的具體介紹,以下是文章的相關(guān)內(nèi)容的介紹,希望你會(huì)有所收獲。
并寫(xiě)到name.txt 代碼
- import os
- filenames=os.listdir(os.getcwd())
- for name in filenames:
- filenames[filenames.index(name)]=name[:-3]
- out=open('names.txt','w')
- for name in filenames:
- out.write(name+'\n')
- out.close()
句字不多,一句句看。
- # --- picknames.py ---
是注釋行,Python是用#作為注釋符的,每行注釋的開(kāi)始都要添加。Python的源代碼是一擴(kuò)展名py結(jié)尾的。import os和其他大多數(shù)語(yǔ)言一樣,導(dǎo)入os這個(gè)函數(shù)庫(kù),在Python的術(shù)語(yǔ)里叫模塊。
下 面一句稍復(fù)雜一點(diǎn)用到了兩個(gè)os模塊里的函數(shù),在調(diào)用的時(shí)候用os.限定。os.getcwd()的作用是返回一個(gè)表示當(dāng)前工作目錄的字符串,若是在 D:\python目錄下執(zhí)行該程序則此函數(shù)返回的就是"D:\python"。程序中將此字符串在作為參數(shù)傳遞給os.listdir()函數(shù),它的作 用是返回一個(gè)參數(shù)所指定目錄的所有文件名字符串的列表,如果目錄內(nèi)有文件file1.rm file2.rm file3.rm,則返回值是
- ['file1.rm','file2.rm','file3.rm']
列表Python里最常用的內(nèi)建數(shù)據(jù)類(lèi)型之一,他 用[]表示,其中的元素用逗號(hào)隔開(kāi)。元素可以是各種數(shù)據(jù)類(lèi)型,整形、字符串,也可以是一個(gè)列表。Python是動(dòng)態(tài)腳本語(yǔ)言,不需要申明變量就可以直接使 用,所以filenames=os.listdir(os.getcwd())將當(dāng)前工作所有文件名字符串的列表賦值給變量filenames。
- for name in filenames:
- filenames[filenames.index(name)]=name[:-3]
這 里大家一看就知道是一個(gè)for循環(huán),可是Python里的for循環(huán)與C語(yǔ)言和Java等其他一些語(yǔ)言中的不完全一樣。這里的循環(huán)用in關(guān)鍵字將 filenames中的元素依次賦給局部變量name,所以一循環(huán)一次name就能得到一個(gè)文件名字符串,這樣我們就可以歷遍所有的文件名了。
for是復(fù) 合語(yǔ)句所以用冒號(hào)結(jié)束,下一行是循環(huán)體。不知大家注意到了沒(méi)有Python里沒(méi)有C/C++和Java里用來(lái)標(biāo)識(shí)語(yǔ)句快的花括號(hào)。這正是Python的一 大特色,Python用每行開(kāi)頭的縮進(jìn)來(lái)實(shí)現(xiàn)同樣的功能。因此,源代碼里的空格不在是為了美觀易讀,而是語(yǔ)法的要求。這也體現(xiàn)了Python的源代碼簡(jiǎn)潔 緊湊的優(yōu)點(diǎn)。
- filenames[filenames.index(name)]=name[:-3]
這一句,在每次循環(huán)里將name中的文件名字符串去 掉最后的3個(gè)字符,也就是.rm擴(kuò)展名,然后重新賦給filenames列表中的每個(gè)元素。Python里對(duì)列表和字符串等的操作十分靈活,name[: -3]返回了一個(gè)新的字符串。它去了name中從開(kāi)頭到倒數(shù)第四個(gè)元素,-3表示從最后開(kāi)始的第三個(gè)元素,但在提取操作中并不包括-3所表示的那個(gè)元素也 不改變變量name本身。
filenames.index(name)返回列表里和name值相同的元素的索引。這樣我們就可以把新的文件名依次賦給 fienames了。#p#
接著我們就可以把它們輸出到Python目錄文件中的一個(gè)文本文件里,以后粘貼的到別的地 方。用out=open ('names.txt','w')打開(kāi)一個(gè)名位out的文件對(duì)象,open()函數(shù)在當(dāng)前目錄里新建了一個(gè)名位names.txt的文本文件,w表示文 件對(duì)象out使用寫(xiě)模式(Write Mode),參數(shù)要用單引號(hào)括住。open()是內(nèi)建函數(shù)并非os模塊里的函數(shù),因此也不用os.來(lái)限定調(diào)用。
接著又是一個(gè)循環(huán),依次將filenames里的每個(gè)字符串輸出到out文件對(duì)象中,同樣要注意行首的縮進(jìn)。
- for name in filenames:
- out.write(name+'\n')
out文件對(duì)象調(diào)用write方法(函數(shù)),將每次循環(huán)里不同的name的值寫(xiě)到name.txt文件中。\n想必學(xué)過(guò)一點(diǎn)編程的人都知道,是轉(zhuǎn)意字符表示換行符。輸出完畢之后要調(diào)用close方法關(guān)閉out文件對(duì)象:
- out.close()
這樣一個(gè)簡(jiǎn)單的程序就完成了,將其保存為 picknames.py,然后復(fù)制到需要的目錄中。在cmd命令行提示符窗口下鍵入python picknames.py(擴(kuò)展名py不可少)或者在文件夾窗口里直接點(diǎn)擊運(yùn)行它就可以,安裝好的解釋器會(huì)自動(dòng)解釋并運(yùn)行此程序。運(yùn)行完畢之后就可以看到 文件夾里多了一個(gè)name.txt文件,內(nèi)容是:
- file1
- file2
- file3
用以上的相關(guān)內(nèi)容就是對(duì)如何Python目錄文件的實(shí)際應(yīng)用方案的具體介紹。
【編輯推薦】