自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

闡述Python語(yǔ)言中的各種模塊

開(kāi)發(fā) 后端
對(duì)于進(jìn)行文件處理時(shí)雖然可以通過(guò)操作系統(tǒng)命令來(lái)完成,但Python語(yǔ)言為了便于開(kāi)發(fā)人員以編程的方式處理相關(guān)工作。

Python語(yǔ)言里的腳本語(yǔ)言中最豐富和強(qiáng)大的類(lèi)庫(kù),足以支持絕大多數(shù)日常應(yīng)用,在實(shí)際的程序開(kāi)發(fā)過(guò)程中,Python語(yǔ)言常被稱(chēng)為拼裝語(yǔ)言,這么說(shuō)的原因是因?yàn)樗軌蚝茌p松的把用其他語(yǔ)言制作的各種模塊。

本文將詳細(xì)解釋這些函數(shù)的使用方法。首先,我們介紹Python語(yǔ)言中類(lèi)似于Windows系統(tǒng)的dir命令的列出文件功能。然后描述如何測(cè)試一個(gè)文件名對(duì)應(yīng)的是一個(gè)標(biāo)準(zhǔn)文件、目錄還是鏈接。

以及提取文件大小和日期的方法。之后,我們還將介紹如何刪除文件和目錄。如何復(fù)制和刪除文件,以及怎樣將一個(gè)完整的文件路徑分解成目錄部分和文件名部分,最后,我們講解目錄的創(chuàng)建,以及如何在目錄樹(shù)中移動(dòng)目錄并處理文件。

一、顯示目錄內(nèi)容
當(dāng)我們想要列出當(dāng)前目錄中所有擴(kuò)展名為.jpg或.gif的文件的時(shí)候,就可以使用glob模塊來(lái)完成此項(xiàng)任務(wù),如下所示:

  1. import glob  
  2.   filelist = glob 

上述代碼使用了glob函數(shù),該函數(shù)的參數(shù)為要顯示的文件類(lèi)型。在這里,文件類(lèi)型是通過(guò)類(lèi)似UNIX操作系統(tǒng)shell風(fēng)格通配符描述的一些文件名來(lái)指定的。這些通配符的使用方法,具體請(qǐng)參考fnmatch模塊的文檔,那里有具體的說(shuō)明和示例。為了顯示一個(gè)目錄中的全部文件,可以使用如下所示的os.listdir函數(shù):

  1. files = os.listdir(r’C:\hpl\scripting\src\py\intro’) #適用于 Windows  
  2.   files = os.listdir(’/home/hpl/scripting/src/py/intro’) # 適用于Unix  
  3.   # 跨平臺(tái)版本:  
  4.   files = os.listdir(os.path.join(os.environ[’scripting’],  
  5.   ’src’, ’py’, ’intro’))  
  6.   files = os.listdir(os.curdir) # 當(dāng)前目錄中的所有文件  
  7.   files = glob.glob(’*’) + glob.  

二、測(cè)試文件類(lèi)型
我們知道,文件名、目錄名和鏈接名都是用一個(gè)字符串作為其標(biāo)識(shí)符的,但是給我們一個(gè)標(biāo)識(shí)符,我們?cè)撊绾未_定它所指的到底是常規(guī)文件文件名、目錄名還是鏈接名呢?這時(shí),我們可以使用os.path模塊提供的isfile函數(shù)、isdir函數(shù)和islink函數(shù)來(lái)達(dá)成我們的目標(biāo),如下所示:

  1. print myfile, ’是一個(gè)’,  
  2.   if os.path.isfile(myfile):  
  3.   print ’plain file’  
  4.   if os.path.isdir(myfile):  
  5.   print ’directory’  
  6.   if os.path.islink(myfile):  
  7.   print ’link’  
  8.   您還可以查找文件的日期及其大小:  
  9.   time_of_last_access = os.path.getatime(myfile)  
  10.   time_of_last_modification = os.path.getmtime(myfile)  
  11.   size = os.path.getsize(myfile)  

三、文件和目錄的刪除
若要?jiǎng)h除單個(gè)文件的話(huà),可以使用os.remove函數(shù),例如:os.remove(’mydata.dat’)。Os.remove的別名是os.unlink。不過(guò)后者跟傳統(tǒng)的UNIX操作系統(tǒng)以及Perl中清除文件的函數(shù)重名。我們可以使用下列方式來(lái)刪除一組文件,如所有以.jpg以及*.gif為擴(kuò)展名的文件:

  1. import stat  
  2.   myfile_stat = os.stat(myfile)  
  3.   size = myfile_stat[stat.ST_SIZE]  
  4.   mode = myfile_stat[stat.ST_MODE]  
  5.   if stat.S_ISREG(mode):  
  6.   print ’%(myfile)是一個(gè)常規(guī)文件,大小為 %(size)d 字節(jié)’ %\  
  7.   vars()  

大家知道,只有當(dāng)Python目錄中內(nèi)容已經(jīng)被清空的時(shí)候,我們才可以使用rmdir命令來(lái)刪除該目錄。不過(guò),我們經(jīng)常想要?jiǎng)h除一個(gè)含有許多文件的目錄樹(shù),這時(shí)我們可以使用shutil模塊提供的rmtree函數(shù),如下所示:

  1. if isinstance(files, str): # files是個(gè)字符串嗎?  
  2.   files = [files] # 把files從字符串轉(zhuǎn)為列表  
  3.   if not isinstance(files, list): # files不是列表嗎?  
  4.     
  5.   for file in files:  
  6.   if os.path.isdir(file):  
  7.   shutil.rmtree(file)  
  8.   elif os.path.isfile(file):  
  9.   os.remove(file)  

Copytree的第三個(gè)參數(shù)規(guī)定對(duì)符號(hào)鏈接的處理,其中True表示保留符號(hào)鏈接;而False則意味著使用文件的物理副本替代符號(hào)鏈接。Python語(yǔ)言能夠很好地支持路徑名的跨平臺(tái)組成。

Os.path.join能使用正確的分界符(在UNIX和Mac OS X操作系統(tǒng)中使用/,在 Windows 上使用\)來(lái)聯(lián)接目錄和文件名,變量os.curdir和os.pardir分別表示當(dāng)前工作目錄及其父目錄。 像下面的UNIX操作系統(tǒng)命令

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. 對(duì)Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢(shì)所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來(lái)源: CSDN
相關(guān)推薦

2010-06-11 09:20:52

UML語(yǔ)言

2010-01-11 15:55:51

C++語(yǔ)言

2010-06-11 09:03:03

UML語(yǔ)言

2009-12-17 09:56:26

Linux添加驅(qū)動(dòng)模塊

2010-07-19 09:16:47

Perl包

2015-11-12 16:21:38

Python計(jì)數(shù)方法

2010-03-26 17:34:29

Python歷史

2010-03-11 19:16:32

Python語(yǔ)言

2010-02-24 14:27:25

Python模塊語(yǔ)言

2009-07-08 12:43:59

Scala ServlScala語(yǔ)言

2023-12-21 07:09:32

Go語(yǔ)言任務(wù)

2021-07-15 23:18:48

Go語(yǔ)言并發(fā)

2024-04-07 11:33:02

Go逃逸分析

2010-01-13 11:27:06

C++安全性

2010-03-12 19:17:43

Python程序

2010-01-13 15:51:44

C++編程語(yǔ)言

2015-07-20 11:32:07

編程語(yǔ)言

2009-06-12 15:01:48

Java數(shù)組Java教程

2009-06-30 10:46:05

多級(jí)指針

2010-07-13 15:34:09

Perl語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)