導航:首頁 > 編程語言 > python父路徑

python父路徑

發布時間:2023-09-14 01:41:27

1. python 父目錄或者同級目錄下的模塊怎麼調用

調用同級目錄下的模塊是比較簡單的,直接用import。
設同一目錄下有兩個腳本 a.py b.py,在b里調用a的函數func,則b.py代碼如下:
import a
a.fun(...)
就可以了

2. python--目錄操作

一、os.getcwd()

獲取當前工作目錄,即當前Python腳本工作的目錄路徑。

二、os. chdir(path)

改變當前腳本工作目錄;相當於shell下的cd命令

三、os.pardir

返回當前目錄的父目錄('..')

四、獲取當前使用的操作系統類型(其中 『nt』 是 windows,』posix』 是linux 或者 unix)。

五、os.mkdir(path [, mode=0777])

生成單級目錄;相當於linux中的mkdir dirname。參數mode表示生成的目錄的許可權,默認是超級許可權,也就是0777。如果重復創建,會報錯

六、os.makedirs(path [, mode=0777])

可生成多層遞歸目錄,父目錄如果不存在,遞歸生成。參數mode表示生成的目錄的許可權,默認是超級許可權,也就是0777。

七、os.removedirs(path)

若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依次類推。

八、os.rmdir(path)

刪除單級空目錄,若目錄不為空則無法刪除,會報錯;相當Linux中的rmdir dirname。

九、os.listdir(path)

列出指定目錄下的所有文件和子目錄,包括隱藏文件或目錄,並以列表形式返回。

十、os.remove(filePath)

刪除一個指定的文件,參數filePath表示文件所在的路徑。

注意:該方法只能刪除文件,不能刪除目錄。

十一、os.rename(oldname, newname)

重命名文件/目錄。

十二、os.access(path, mode)

輸出文件許可權模式。

十三、os.chmod(path, mode)

修改文件的許可權。

十四、os.walk(top, topdown=True, onerror=None, followlinks=False)

➢top:表示需要遍歷的目錄樹的路徑。

➢topdown的默認值是「True」,表示首先返回目錄樹下的文件,然後遍歷目錄樹下的子目錄。值設為False時,則表示先遍歷目錄樹下的子目錄,返回子目錄下的文件,最後返回根目錄下的文件。

➢onerror的默認值是「None」,表示忽略文件遍歷時產生的錯誤。如果不為空,則提供一個自定義函數提示錯誤信息後繼續遍歷或拋出異常中止遍歷。

➢該函數返回一個列表,列表中的每一個元素都是一個元組,該元組有3個元素,分別表示每次遍歷的路徑名,目錄列表和文件列表。

➢默認情況下,os.walk 不會遍歷軟鏈接指向的子目錄,若有需要請將followlinks設定為true

十五、os.path.split(path)

將path分割成目錄和文件名(事實上,如果你完全使用目錄,它也會將最後一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在),並存於元組中返回。

十六、os.path.exists(path)

判斷path是否存在,如果存在返回True,否則返回False。

十七、os.path.isfile(path)

判斷path是否是文件,如果是返回True,否則返回False。

十八、os.path.isdir(path)

判斷path是否是目錄,如果是目錄返回True,否則返回False。

十九、os.path.getsize(name)

獲得文件大小,如果name是目錄返回結果是0L或者4096L;如果name代表的目錄或文件不存在,則會報WindowsError異常。

二十、os.path.join(a, *p)

連接兩個或更多的路徑名,中間以「\」分隔,如果所給的參數中都是絕對路徑名,那先給的絕對路徑將會被丟棄。

二十一、os.path.getatime(filename)

返迴文件的最後訪問時間,返回的是時間戳。

二十二、os.path.getctime(filename)

以時間戳的形式返迴文件或目錄的創建時間,在Unix系統上是文件最近更改的時間,在Windows上是文件或目錄的創建時間。

1.基礎題:

    檢驗給出的路徑是否是一個文件:os.path.isfile("D:\\test.txt")

    檢驗給出的路徑是否是一個目錄:os.path.isdir("D:\\test.txt")

    判斷是否是絕對路徑:os.path.isabs("D:\\test.txt")

    檢驗給出的路徑是否真地存在:

2.返回一個路徑的目錄名和文件名 :os.listdir("D:\\")

3.分離文件名與擴展名 :os.path.splitext("D:\\test.txt")

4.找出某個目錄下所有的文件,並在每個文件中寫入「gloryroad」 :

>>> for files in os.walk("D:\\test"):

...    print(files)

...

('D:\\test', [], ['a.txt', 'b.txt', 'test.txt', 'test1.txt'])

>>> with open("D:\\test\\a.txt","w+") as f:

...    f.write("gloryroad")

5.如果某個目錄下文件名包含txt後綴名,則把文件後面追加寫一行「被我找到了!」

6. 命題練習:

    1) 一個目錄下只有文件(自己構造),拷貝幾個文件(手工完成)

    2 )用listdir函數獲取所有文件,如果文件的創建時間是今天,那麼就在文件裡面寫上文件的路徑、文件名和文件擴展名

    3) 如果不是今天創建(獲取文件的創建時間,並轉化為時間格式,判斷是否今天),請刪除

    4 )計算一下這個程序的執行耗時

7.刪除某個目錄下的全部文件

8.統計某個目錄下文件數和目錄個數

9.使用程序建立一個多級的目錄,在每個目錄下,新建一個和目錄名字一樣的txt文件

10. 查找某個目錄下是否存在某個文件名

11. 用系統命令拷貝文件

12.輸入源文件所在路徑和目標目錄路徑,然後實現文件拷貝功能

13.遍歷某個目錄下的所有圖片,並在圖片名稱後面增加

14、遍歷指定目錄下的所有文件,找出其中佔用空間最大的前3個文件

15、過濾py源碼中的#注釋,另存為文件result.py,並執行result.py,斷言是否執行成功

16、文件訪問,提示輸入數字 N 和文件 F, 然後顯示文件 F 的前 N 行.

17、從命令行接受1個路徑如:c:\a\b\c\1.py, 實現1個函數創建目錄a\b\c,創建文件1.py,實現1個函數刪除已創建的目錄及文件

18、有一個ip.txt,裡面每行是一個ip,實現一個函數,ping 每個ip的結果,把結果記錄存到ping.txt中,格式為ip:0或ip:1 ,0代表ping成功,1代表ping失敗

19、實現DOS命令執行功能,接受輸入命令並執行,然後把執行結果和返回碼列印到屏幕

20、文件訪問

    訪問一存在多行的文件,實現每隔一秒逐行顯示文本內容的程序,每次顯示文本文件的 5行, 暫停並向用戶提示「輸入任意字元繼續」,按回車鍵後繼續執行,直到文件末尾。

    顯示文件的格式為:[當前時間] 一行內容,比如:[2016-07-08 22:21:51] 999370this is test

3. python文件名獲取文件路徑

概述

使用os.path.abspath()函數來獲取文件絕對路徑

解析

文件目錄結構如下:

os.path.abspath(path)返回path規范化的絕對路徑(但這個路徑不一定是真實的路徑),如果path僅是一個文件名,使用該函數後返回的路徑是當前工作目錄路徑連接改文件名後所組成的新的路徑名。

>>> import os.path

>>> os.path.abspath("a.py")

'C:\Users\Administrator\a.py'

os.path.split(path)將path分割成目錄和文件名二元組返回

>>> os.path.split("C:\Users\Administrator\a.py")
('C:\Users\Administrator', 'a.py')

os.path.dirname(path)返回path的目錄,其實就是os.path.split(path)的第一個元素

>>> os.path.dirname("C:\Users\Administrator\a.py")
'C:\Users\Administrator'

os.path.basename(path)返回path最後的文件名。如果path以/或結尾,就會返回空值。即os.path.split(path)的第二個元素。

>>> os.path.basename("C:\Users\Administrator\a.py")

'a.py'

os.path.commonprefix(list)返回list中所有path共有的最長的路徑,從左向右,相同字元。

os.path.exists(path)如果path存在,返回True;如果path不存在,返回False。

os.path.isabs(path)如果path是絕對路徑,返回True。

os.path.normpath(path)規范path字元串形式(規範文件路徑)

os.path.isfile(path)判斷路徑是否為文件,是返回True,否則返回False

os.path.isdir(path)如果path是一個存在的目錄,返回True,否則返貨False。

os.path.islink(path)是否是鏈接;但如果系統不支持鏈接,則返回False。

4. python如何退回上級路徑

退回上級:x0dx0a主要是將目錄加入到sys.path路徑里就可以import sys.path.append("../"),這樣 另外還有一個os.chdir(somedir)也可以改變當前工作目錄。x0dx0a獲取當前:x0dx0aos.path.abspath(os.path.join(os.path.dirname(Ƈ.py'),os.path.pardir)) 獲取1.py 所在目錄的上級目錄。

5. python獲取文件父級目錄

os.path.abspath(path) //返回絕對路徑 os.path.dirname(path) //返迴文件路徑 os.path.pardir //..表示上一級目錄 os.path.join(path1[, path2[, ...]]) //把目錄和文件名合成一個路徑

6. 在python 中如何 import 父目錄中的模塊

在 python 中,如果當前目錄中存在有 __init__.py 文件,則表示該目錄為一個包(package),在包中,引用同級目錄或子目錄中的其它模塊非常簡單,直接使用 import 語句即可,並且如果是同級目錄,沒有 __init__.py 文件亦可。但如何導入父目錄中的其它模塊呢,在 python 的世界裡,沒有像 C 中直接使用 ../ 來退級的方式,像 import ../test 這樣的語句是不合法的。其它,如果理工清楚了 import 語句的工作原理,就好辦了,import 工作時,就是根據模塊名,從 sys.path 所包含的路徑中尋找對應的模塊名,如果能找到,則將其它導入到當前運行環境,根據這個規則,有如下兩種方式解決上述問題:
1、修改 sys.path 法:在導入父目錄中的模塊前,先修改 sys.path 的值,如導入父目錄中的 test 模塊,導入方法如下:import syssys.path.insert(0, "..") ;# or�0�2 sys.path.append("..")
2、將包的根目錄以外鏈的形式加入到 sys.path 中,即在 {PYTHON-HOME}\lib\site-packages 中新建一個 .pth 文件,文件內容為包根路徑,假設包的根目錄為 d:/py/mytest/,則可以在 {PYTHON-HOME}\lib\site-packages 目錄下建一個 mytest.pth 的文件,內容為 d:/py/mytest。完成上述步驟後,則可以在任何模塊中像導入已安裝的系統包一樣導入 mytest 包或是該包下的所有模塊,如 import mytest。注意,由於 python 的版本不同,在 v2.5 版以後,需要在 __init__.py 文件中顯示地使用 __all__ 變數指明當前包下有哪些模塊,要不此包是無法正常導入和工作地

7. python中的絕對路徑和相對路徑均如何理解呢

Python中的絕對路徑和其他語言並無區別。
Python中的相對路徑則有所不同,一般語言的相對路徑的父目錄指的是文件所在目錄,而Python的相對路徑的父目錄指的是當前腳本執行目錄。舉個簡單的例子:我有一個放在/xyz/bin目錄下的腳本 test.py。那麼他的絕對路徑就是/xyz/bin,如果你在你的test腳本中使用了相對路徑的話,那麼test.py中的相對路徑是根據腳本執行時你的當前目錄所決定的。比如,如果你在/xyz/bin目錄下還有一個文件test.txt,這是test.py中所使用的文件,那麼在/xyz/bin目錄下執行./test.py是沒有問題的。但是如果你在其他目錄執行python /xyz/bin/test.py,如果其他目錄沒有test.txt文件,那麼必然會報錯。因為此時相對路徑的父目錄已經不是/xyz/bin了,自然找不到/xyz/bin/test.txt。

閱讀全文

與python父路徑相關的資料

熱點內容
80x86編程手冊 瀏覽:765
android機制使用 瀏覽:361
國外太空探索網站源碼 瀏覽:643
dotaimba命令大全 瀏覽:13
手解剖pdf 瀏覽:733
單片機無法燒寫程序 瀏覽:413
pline命令 瀏覽:109
760貼片機編程視頻 瀏覽:333
歐姆龍plc編程第36講 瀏覽:915
我的世界如何將一個伺服器弄崩 瀏覽:8
php網站訪問量代碼 瀏覽:431
怠速壓縮機咔咔響 瀏覽:176
怎麼才能修改APP中的數據 瀏覽:688
哪裡有搶單的app 瀏覽:462
演算法概率題 瀏覽:465
長方形拉伸的命令 瀏覽:279
python代碼函數編程技術 瀏覽:194
java正則式 瀏覽:429
外包程序員好進嗎 瀏覽:384
雲伺服器服務模型架構 瀏覽:901