導航:首頁 > 程序命令 > pythondir命令

pythondir命令

發布時間:2022-11-25 06:15:47

1. python其實很簡單 第十六章 目錄管理

為實現「按名存取」,必須建立文件名與輔存空間中物理地址的對應關系,體現這種對應關系的數據結構稱為文件目錄。文件目錄表目至少要包含文件名、文件的類型、文件的長度、訪問許可權、建立時間、訪問時間和文件存儲地址等內容。通過前面一章的介紹,我們已經知道在文件信息中已經包含了文件名、文件類型訪問許可權等信息,而存儲地址的信息則包含在目錄信息中。

16.1路徑

路徑通常用一個字元串來表示,可以按照路徑信息定位到一個目錄或文件。如:「C:UsersAdministratorPictures1.jpg」這個信息可以非常方便的找到這個圖片文件,「C:UsersAdministratorPictures」這個信息可以幫助我們找到更多的圖片文件。

這里所說的「路徑」和上網時碰到的「地址」含義比較相似,互聯網就相當於將個人電腦可以訪問的范圍擴大了,互聯網中的地址也是對應某一個存儲空間的路徑,按照地址可以訪問互聯網上的信息,就如同按照路徑可以找到計算機中的文件一樣。

在Python中,可以導入 os模塊 來進行目錄操作。

1、獲取當前工作目錄getcwd()函數

例:

import os

print(os.getcwd())

運行結果:

C:

這個路徑是當前Python IDLE所在的地址。

2、獲取文件的絕對路徑abspath()函數

abspath()函數是os模塊的子模塊path提供的一個函數。用法舉例如下:

import os

print(os.path.abspath(r'test.txt'))

運行結果:

C: est.txt


16.2 目錄操作類函數

1、判斷目錄是否存在exists()函數

exists()函數是os模塊的子模塊path中的函數。使用方法舉例如下:

import os

print(os.path.exists(r'C:UsersAdministratorPictures1.jpeg'))

輸出結果:

True

2、創建目錄mkdir()函數和makedirs()函數

mkdir()函數和makedirs()函數都是由os模塊提供的,下面舉例說明用法和區別。

例1:

import os

path='d:test'

if not os.path.exists(path):

os.makedirs(path)

print('該文件目錄創建成功!')

如果目錄d: est已存在,則不再創建;若不存在,則創建。

例2:

import os

path='d:testtest1test11'

if not os.path.exists(path):

os.makedirs(path)

print('該文件目錄創建成功!')

雖然目錄d: est已存在,但可以在其下繼續創建子目錄。上面的代碼可以成功地創建d: est est1 est11目錄。

mkdir()函數和makedirs()函數用法基本一樣,不同之處在於mkdir()函數只能能創建一級目錄。

3、刪除目錄函數rmdir()函數

rmdir()函數是由os模塊提供的。

例如:通過上面的例子已經建立了d: est est1 est11目錄,現在去刪除子目錄test11(此子目錄為空目錄),代碼如下:

import os

os.rmdir('d:testtest1test11')

如果要刪除的目錄非空(其下還包含有文件或文件夾),則不能刪除,並且出現Windows文件操作錯誤的提示(Python是調用操作系統命令完成文件和目錄操作的)。譬如d: est目錄下含有有子目錄,則不能對其進行如下刪除操作。

import os

os.rmdir('d:test')

此時,會出現如下錯誤提示:

Traceback (most recent call last):

File "C:/Users/zym/AppData/Local/Programs/Python/Python39/4.py", line 10, in

os.rmdir('d:test')

OSError: [WinError 145] 目錄不是空的。: 'd:test'


4、刪除非空目錄函數rmtree()函數

rmtree()函數是由Python內置的標准模塊shutil提供的,可以刪除目錄及目錄下的文件和子目錄。如刪除d: est目錄及其下的子目錄和文件,可用如下代碼:

import shutil

shutil.rmtree('d:test')

5、遍歷目錄walk()函數

walk()函數是由os模塊提供的。

語法格式:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

其中,top是所要遍歷的目錄的地址;topdown為可選參數,為 True時自上而下遍歷 目錄,為False時自下而上遍歷目錄,默認值為True;onerror為可選參數,用於指定異常處理方式,默認為忽略;followlinks為可選參數,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。

該函數的返回值為一個三元組(root,dirs,files)。root 所指的是當前正在遍歷的這個文件夾的本身的地址;dirs 是一個 list ,內容是該文件夾中所有的目錄的名字(不包括子目錄);files 同樣是 list , 內容是該文件夾中所有的文件(不包括子目錄)。

例:遍歷d: est目錄及其子目錄下的所有子目錄和文件:

d: est目錄及其下的子目錄和文件

import os

path='d:test'

tups=os.walk(path) # 函數walk()的返回值為三元組


for root,dirs,files in tups: # 遍歷這個三元組

for name in dirs: #遍歷存放目錄值的元組

print('dir:',os.path.join(root,name))

for name in files: #遍歷存放文件名值的元組

print('file:',os.path.join(root,name))


運行結果如下:

dir: d: est est1

dir: d: est est1 est11

dir: d: est est1新建文件夾

file: d: est est1新建文本文檔.txt

file: d: est est1 est11新建文本文檔.txt

2. python遍歷目錄就是這么簡單

有時我們有列出目錄下都有哪些文件和子目錄的需求,這種情況是有現成命令可用的,比如windows下的dir命令,linux下的ls命令都可以,那我們用python代碼怎麼實現呢?

我們利用python豐富的庫很容易就能實現一個簡易版本,下面我們就用4種方法來實現它。

一、使用os.popen

os.popen工作原理是新建一個子進程,然後用這個子進程執行命令,父進程與子進程間通過管道進行通信。

根據調用popen時的傳參,我們可以通過管道讀取子進程的輸出也可以向子進程寫數據,默認是讀取子進程的輸出。

從以上描述可以看出popen是非常通用的,不是只能用於我們這個例子哦。

那我們開始用它實現我們的需求吧,代碼如下:

哈哈,是不是很簡單,這種方式雖然能達到目的但其實並不是我們想要的,我們本來就是要實現ls的,結果調用了ls,所以嚴格意義上來說我們並沒有實現ls,那讓我們繼續往下看其它方法吧,嘿嘿。

二、使用glob.glob

glob可以根據你使用的通配符對文件進行匹配,利用這個特性我們可以列出當前目錄下都有哪些文件和子目錄,如下代碼:

三、使用os.listdir

os.listdir同樣可以列出某個目錄下都有哪些文件和子目錄,如下代碼:

四、使用os.walk

os.walk在遍歷目錄方面非常強大,它不但可以遍歷你需要的目錄,也可以遞歸遍歷子目錄且遞歸的深度可以用代碼控制,下面讓我們分別看下怎麼遍歷整個目錄樹以及怎麼控制深度吧。

os.walk默認是遍歷整個目錄樹的,如下代碼就會遞歸列印出當前目錄下所有文件:

那我們怎麼控制遍歷的深度,比如只遍歷n層呢?其實很簡單,只需要定義一個深度變數,然後到達n後跳出循環即可,如下代碼就只遍歷1層:

至此我們已經寫完4種方法了,如果你還有其他方法,歡迎評論交流。

3. 在cmd命令里輸入dir/s*python*是什麼意思

顯示系統盤(一般是C盤)目錄下文件名中有python的文件

4. python sys.path.append('..')括弧里這兩個點是什麼意思

目錄的意思,即代表上一級目錄。

5. 如何用python批量改文件名

批量修改文件名的方法(以批量修改圖片為例進行說明,修改ppt相同的道理)如下:在c盤建立一個文件夾,將下載的圖片放置於該文件夾中,如下圖所示。

滑鼠左鍵點擊,開始-》運行-》在對話框中輸入字母「cmd」,進入dos模式 ,如下圖所示。

在dos模式輸入命令行「cd c:\pic」然後回車,再輸入命令行「dir /b>rename.xls",如下圖所示,可將文件夾中的文件名在rename.xls文件中列出。

隨後用xls打開c:\pic文件夾中的rename.xls,會發現文件名以全部羅列在A列中(你也可以用滑鼠來調整文件名的順序),可以在B1列中輸入1.jpg作為第一個文件文件名。

滑鼠選中B1單元格,並在B1列的右下方,使滑鼠游標變為+號時,拖動使所有jpg文件的右側B列中都有文件名。再將A8單元格中沒有用的文件名刪除,如下圖示。

滑鼠選中C1單元格,並在編輯框中輸入公式="ren "&A1&" "&B1,如下圖所示。

繼續用滑鼠拖動C1單元格右下方的句柄,使剩餘的C2-C7單元格填充如下圖所示。

然後,滑鼠選中C列,滑鼠右鍵復制,如下圖示。

在記事本中,粘貼剛才的命令行,如下圖示。

滑鼠點擊菜單「文件」——「另存為」,輸入文件名ren.bat,要注意下圖所示紅圈中的路徑及擴展名選項。

打開c盤pic文件夾,滑鼠雙擊ren.bat這個批處理文件,即可將該文件夾下的jpg圖片,按照剛才rename.xls中的順序和文件名批量修改文件名,如下圖示。

自此,已經完成了批量修改文件名的操作。運用了dos命令技巧、xls技巧以及批處理3個知識點來達到批量修改文件名的效果。

6. python 怎麼進入虛擬環境

安裝Python,本文以Python3.4為例。關於如何安裝Python3.4,請參考其他經驗,本文不在重復贅述。
注意:將安裝目錄添加到環境變數中,否則無法在其他目錄啟動python。安裝成功後截圖如下所示:

進入Python安裝目錄中的腳本目錄,本文目錄為C:\Python34\Scripts,截圖如下所示:

在腳本目錄下啟動命令行界面,輸入命令dir,可以看到腳本目錄下包含的工具,其中pip後面將要用到的命令,pip命令可以方便為python安裝依賴包。

使用pip命令安裝虛擬環境,命令為:pip install virtualenv,安裝過程截圖如下所示,

安裝後的虛擬環境在腳本目錄下,創建虛擬環境,命令為:virtualenv D:\Project\python\venv\test,將在D:\Project\python\venv目錄下創建名為test的文件夾,test文件夾下的組成如下圖所示,

6
啟動虛擬環境,進入虛擬環境目錄virtualenv D:\Project\python\venv\test,在此目錄下啟動命令行界面,運行命令: .\Scripts\activate即啟動虛擬環境,啟動虛擬環境後在命令行界面下會出現虛擬環境的名稱,提示用戶已經進入虛擬環境,截圖如下所示:

7
在啟動虛擬環境的情況下,安裝的依賴包全部基於當前的虛擬環境,不會干擾其他的虛擬環境。

7. 請教python如何執行shell管道命令

Python執行Linux系統命令,即在Python腳本中調用Shell命令,具體有以下四種方法:
1、os.system
//僅僅在一個子終端運行系統命令,而不能獲取命令執行後的返回信息
system(command) -> exit_status
Execute the command (a string) in a subshell.
//如果再命令行下執行,結果直接列印出來:
>>> os.system('ls')
04101419778.CHM bash document media py-django video
11.wmv books downloads Pictures python
all-20061022 Desktop Examples project tools
2、os.popen
//該方法不但執行命令還返回執行後的信息對象
popen(command [, mode='r' [, bufsize]]) -> pipe
Open a pipe to/from a command returning a file object.
3、使用模塊 subprocess
>>> import subprocess
>>> subprocess.call(["cmd", "arg1", "arg2"],shell=True)
//獲取返回和輸出:
import subprocess
p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
print line,
retval = p.wait()
4、使用模塊 commands

>>> import commands
>>> dir(commands)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']
>>> commands.getoutput("date")
'Wed Jun 10 19:39:57 CST 2009'
>>>
>>> commands.getstatusoutput("date")
(0, 'Wed Jun 10 19:40:41 CST 2009')

8. Python基礎之查看Python庫、函數和模塊

1.dir函數式可以查看對象的屬性

使用方法很簡單,舉os類型為例,在Python命令窗口輸入 dir(『os』) 即可查看os模塊的屬性

打開cmd命令窗口:

2.如何查看對象某個屬性的幫助文檔:兩種方法如下:

3.如何查看某個對象的詳細:

3.如何查看某個對象的函數:

9. 如何查看 Python 全部內置變數和內置函數

查看python內置函數的方法:1、打開Python IDLE編輯器;2、輸入" dir(__builtins__)"命令,按下回車鍵(Enter)得到Python全部內置變數和函數。


如何查看 Python 全部內置變數和內置函數?

1 如圖,打開 Python IDLE,我用的 是 Python 3.7 ,界面有個性定製。你的版本不同,界面有差異,但是操作方法應該是一樣的。

2 輸入 dir(__builtins__)

按下回車鍵(Enter)。

3 也可以:

import builtins

dir(builtins)

按下回車鍵(Enter)。

得到的結果和 dir(__builtins__) 是一樣的。

4 那麼這返回的一大堆到底是什麼東西?

可以看到,返回的結果是以 [ 開頭以 ] 結尾,說明是個列表,我們看看這列表裡一共有多少個元素?

輸入:

len(dir(__builtins__))

得到一個數字,154 ,說明當前版本的 Python 內置的常量和函數總數是 154 。

5 我們再重新輸出一下這個列表,逐個列印出來,更好看一點。

for item in dir(__builtins__):

print(item)

按下兩次回車鍵(Enter)。按照默認的字母順序,先是大寫字母 A-Z,然後是下劃線(_)開頭的,然後是小寫字母 a-z ,為什麼是這個順序?因為按照 ASCII 碼表,表示小寫字母的數字比表示大寫字母的數字要大,而表示下劃線(_)的數字居中,所以如此。

6 print() 就是 Python 3 的默認函數。我們試試:

print('Hello World')

builtins.print('Hello World')

__builtins__.print('Hello World')

運行結果如下,可以看到,結果是一樣的。

dir()本身就是 Python 的內置函數,利用它,我們可以查看對象的全部方法和屬性,對於掌控全局,了解全貌很有用。

課程推薦:Python快速教程之從入門到精通

閱讀全文

與pythondir命令相關的資料

熱點內容
簡訊刪除助手文件夾 瀏覽:688
java辦公自動化 瀏覽:340
php中超鏈接 瀏覽:253
linux默認路由設置 瀏覽:36
linux如何掛載iso 瀏覽:432
vs程序換文件夾後不能編譯 瀏覽:557
安卓源碼編譯輸入腳本沒反應 瀏覽:47
phpmysql自增 瀏覽:167
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:277
沈陽用什麼app租房車 瀏覽:857
00後高中生都用什麼app 瀏覽:238
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:807
醫療程序員招聘 瀏覽:598
住宿app可砍價是什麼意思 瀏覽:133