有關Python編寫內容分析闡述
本文對Python編寫進行學習研究,IDE選擇及編碼的解決方案進行了一番詳細的描述,實為Python初學者必讀的Python學習經驗心得,基于這種語言的相關技術正在飛速的發展,用戶數量急劇擴大,相關的資源非常多。
但在國內的使用還不是很多。她十分有自己的特色。語法簡潔,但功能強大,可以 跨平臺使用,在Linux、Windows和Mac上都有很好支持。她的設計很出色。這里有兩個Python的使用例子,都是對磁盤文件的操作,以次 來看看Python的特色。以下的程序是在 Windows平臺上完成的。
在Windows上安裝Python編寫十分方便,到Python的官方站點(www.python.org)可以免費下載 Windows平臺上的二進制安裝包后直接安裝就可以了,安裝程序會完成所有的配置,不用象Java一樣要自己設置環境變量。
在文件夾里有六十多個RM格式的視頻文件,我現在需要把它們的文件名都提取出來,并去掉文件的擴展名,以便放到需要的網頁里。應該有什么軟件可以完成這個簡單的要求,可是一時間到哪里去找這 樣一個符合要求的軟件呢?總不能手工完成把。
在Linux上用強大的shell腳本應該也可以完成,可是使用Windows的朋友呢?其實象這樣一個簡單 任務用Python這個強大腳本語言只要幾條語句就可以搞定了。個大家知道,要完成這樣一個任務根本不用動用C/C++或Java這樣的大家伙。好來看看Python的身手,用自己喜歡的文本編輯器或者直接使用安裝包自帶的IDE都可以,句字不多,一句句看。
# --- picknames.py --- 是注釋行,Python是用#作為注釋符的,每行注釋的開始都要添加。Python的源代碼是一擴展名py結尾的。import os和其他大多數語言一樣,導入os這個函數庫,在Python的術語里叫模塊。下 面一句稍復雜一點用到了兩個os模塊里的函數。#t#
在調用的時候用os.限定。os.getcwd()的作用是返回一個表示當前工作目錄的字符串,若是在 D:\python目錄下執行該程序則此函數返回的就是"D:\python"。程序中將此字符串在作為參數傳遞給os.listdir()函數,它的作 用是返回一個參數所指定目錄的所有文件名字符串的列表,如果目錄內有文件file1.rm file2.rm file3.rm,則返回值是
['file1.rm','file2.rm','file3.rm']。列表Python里最常用的內建數據類型之一,他 用[]表示,其中的元素用逗號隔開。元素可以是各種數據類型,整形、字符串,也可以是一個列表。Python是動態腳本語言,不需要申明變量就可以直接使 用,所以filenames=os.listdir(os.getcwd())將當前工作所有文件名字符串的列表賦值給變量filenames。
這 里大家一看就知道是一個for循環,可是Python里的for循環與C語言和Java等其他一些語言中的不完全一樣。這里的循環用in關鍵字將 filenames中的元素依次賦給局部變量name,所以一循環一次name就能得到一個文件名字符串,這樣我們就可以歷遍所有的文件名了。
Python編寫是復 合語句所以用冒號結束,下一行是循環體。不知大家注意到了沒有Python里沒有C/C++和Java里用來標識語句快的花括號。這正是Python的一 大特色,Python用每行開頭的縮進來實現同樣的功能。因此,源代碼里的空格不在是為了美觀易讀,而是語法的要求。
這也體現了Python的源代碼簡潔 緊湊的優點。filenames[filenames.index(name)]=name[:-3]這一句,在每次循環里將name中的文件名字符串去 掉最后的3個字符,也就是.rm擴展名,然后重新賦給filenames列表中的每個元素。#t#
Python里對列表和字符串等的操作十分靈活,name[: -3]返回了一個新的字符串。它去了name中從開頭到倒數第四個元素,-3表示從最后開始的第三個元素,但在提取操作中并不包括-3所表示的那個元素也 不改變變量name本身。
filenames.index(name)返回列表里和name值相同的元素的索引。這樣我們就可以把新的文件名依次賦給 fienames了。接著我們就可以把它們輸出到一個文本文件里,以后粘貼的到別的地 方。用out=open ('names.txt','w')打開一個名位out的文件對象。
open()函數在當前目錄里新建了一個名位names.txt的文本文件,Python編寫表示文 件對象out使用寫模式(Write Mode),參數要用單引號括住。open()是內建函數并非os模塊里的函數,因此也不用os.來限定調用。