導航:首頁 > 程序命令 > python返回父類命令

python返回父類命令

發布時間:2023-01-27 16:36:46

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

❷ Python入門精華-OOP調用父類的方法及MRO方法解析序列

在繼承關系中,我們想調用已經被覆蓋了的父類的方法,就需要如下實現:

解決方法:

要調用父類中的方法,就要使用超類(超集)方法super(),該方法旨在調用已經被覆蓋的父類的成員方法。

討論:

有關python是如何實現繼承的?

針對每一個定義的類,都會計算出一個成為方法解析順序(MRO)的元組,其只是簡單的對所有基類進行簡單地線性排列。

通過上述的C類調用MRO表,我們不難看出,它將本類開始一直到object類直接所有的父類一次性從左向右逐層向上的排列了出來(先排列自己,在排列自己的父類,最後排列父類的父類,以及最後的object)

然而MRO為何如此排列,這里要涉及到一個非常令人討厭的數學演算法,C3線性化處理,這里只是總結其三個約束:(簡單點說,其實就是對父類進行歸並排列)

1、先檢查子類,再檢查父類

2、有多個父類時,按照MRO表的順序依次查看

3、如果下一個待選的類出現了兩個合法的選擇,那麼就從第一個父類中選取。

4、補充一點:MRO對類的排序幾乎適用於任何定義的類層次結構。

來了來了,它真的來了:重點~~

有很多同學是否仔細看過上邊的代碼?

有關super()函數,以下重點需要各位明白:

在重寫的方法中僅使用一次super()方法時,會按照MRO表從下一個類開始搜索對應的方法或屬性,以此類推。 所以C中重寫了父類的構造,構造中有super,所以會按照順序去查找MRO中下一個類的方法,發現A中也有super,就會再去B中找對應的方法(同名方法是__init__),所以找到B的構造,可是B中又有super,就會再去MRO中B的下一個類(Base)中找對應的方法(Base的__init__()方法),所以會先列印「Base.__init__」,列印完後又因為B的__init__中還有列印「B.__init__」,所以接著列印『B.__init__』,又因為列印完後A中還有列印「A.__init__」,所以再列印「A.__init__」,最後列印「C.__init__」。這樣就可以遍歷MRO整張表中所有的對應的__init__()方法,並且讓每個方法只會被調用一次。

為了更好的記憶:當所有重寫的方法中只使用了一次super函數時,會從最上層的類依次調用其指定的方法即可以理解為(object->Base->B->A->C)。

所以,輸出結果為:

甚至於如下情況更為耐人尋味,仔細品一品:

值的一提的是:AB均沒有顯式的繼承的父類,為何結果為列印『AB』呢?這里就要理解MRO的含義了哦!

❸ 請問python如何將一個子類對象賦值給父類對象

classF:
def__init__(self):
pass
deffun(self):
print"InF"

classS(F):
def__init__(self):
F.__init()
deffun(self):
print"InS"

f=S()
f.fun()

python本來就是動態類型的語言,所以本來就不需要像C#那樣的賦值,像上面的代碼即可以實現C#裡面的功能。

❹ python2.7怎麼查看類或對象的父類

In[1]:classa(list):
...:pass
...:

In[2]:a.__bases__
Out[2]:(list,)

In[3]:a.mro()
Out[3]:[__main__.a,list,object]

In[4]:

如果解決了您的問題請採納!
如果未解決請繼續追問

❺ python elementtree 判斷節點是否有子節點

lxml takes all the pain out of XML.
Stephan Richter

lxml是Python語言里和XML以及HTML工作的功能最豐富和最容易使用的庫。lxml是為libxml2和libxslt庫的一個Python化的綁定。它與眾不同的地方是它兼顧了這些庫的速度和功能完整性,以及純Python API的簡潔性,大部分與熟知的ElementTree API兼容但比之更優越。

安裝lxml:

要求:需要Python2.3或更後的版本

使用easy_install工具,以超級用戶或管理員的角色run下面的命令:

easy_install lxml

在windows下,最好指定版本號:easy_install lxml==2.2.6

使用lxml進行開發

lxml.etree指南

通常使用lxml.etree的方式

>>> from lxml import etree

Element類,一個Element是ElementTree API的主要容器類,大部分的XML tree功能都是通過這個類來訪問的。Elements可以非常容易地通過Element工廠方法來創建。

>>> root = etree.Element("root")

元素的XML tag名字是通過tag屬性來訪問的

>>> print root.tag # root

Elements是在XML樹狀結構中組織的,為創建子元素並將它們加到父元素上,可以使用append()方法。

>>> root.append( etree.Element("child1") )

我們還有更高效的方法:SubElement工廠方法,它使用和Element工廠方法相同的參數,不過額外需要父節點作第一個參數:

>>> child2 = etree.SubElement(root, "child2")
>>> child3 = etree.SubElement(root, "child3")

可以使用tostring()方法來看得到的XML

>>> print etree.tostring(root, pretty_print=True)
<root>
<child1/>
<child2/>
<child3/>
</root>

元素是列表

>>> child = root[0]
>>> print child.tag
child1

>>> print len(root)
3

>>> root.index(root[1]) # lxml.etree only!
1

列印所有子節點:

>>> children = list(root)

>>> for child in root:

... print(child.tag)
child1
child2
child3

可以使用insert()方法插入新的子節點:

>>> root.insert(0, etree.Element("child0"))
刪除子節點:

>>> root[0] = root[-1] # this moves the element!
>>> for child in root:
... print(child.tag)
child3
child1
child2

如果想把一個元素拷貝到不同的地方,需要創建一個獨立的deep 。

>>> from import deep
>>> element = etree.Element("neu")
>>> element.append( deep(root[1]) )
>>> print(element[0].tag)
child1
>>> print([ c.tag for c in root ])
[』child3』, 』child1』, 』child2』]

getparent()返回父節點:
>>> root is root[0].getparent() # lxml.etree only!
True

元素的兄弟或鄰居節點是通過next和previous屬性來訪問的
The siblings (or neighbours) of an element are accessed as next and previous elements:
>>> root[0] is root[1].getprevious() # lxml.etree only!
True
>>> root[1] is root[0].getnext() # lxml.etree only!
True

帶屬性的元素

XML元素支持屬性,可以用Element工廠方法直接創建。

>>> root = etree.Element("root", interesting="totally")
>>> etree.tostring(root)
b』<root interesting="totally"/>』

可以使用set和get方法訪問這些屬性:

>>> print root.get("interesting")
totally
>>> root.set("interesting", "somewhat")
>>> print root.get("interesting")
somewhat

也可以使用attrib性質的字典介面

>>> attributes = root.attrib
>>> print(attributes["interesting"])
somewhat
>>> print(attributes.get("hello"))
None
>>> attributes["hello"] = "Guten Tag"
>>> print(attributes.get("hello"))
Guten Tag
>>> print(root.get("hello"))
Guten Tag

元素可以包含文字:

>>> root = etree.Element("root")
>>> root.text = "TEXT"
>>> print(root.text)
TEXT
>>> etree.tostring(root)
』<root>TEXT</root>』

如果XML用在(X)HTML中,文本也可以在不同的元素中顯示:
<html><body>Hello<br/>World</body></html>
元素有tail屬性,它包含XML 樹中元素直接跟的,直到下個元素的文本。

>>> html = etree.Element("html")
>>> body = etree.SubElement(html, "body")
>>> body.text = "TEXT"
>>> etree.tostring(html)
b』<html><body>TEXT</body></html>』
>>> br = etree.SubElement(body, "br")
>>> etree.tostring(html)
b』<html><body>TEXT<br/></body></html>』
>>> br.tail = "TAIL"
>>> etree.tostring(html)
b』<html><body>TEXT<br/>TAIL</body></html>』

❻ python獲取執行命令的返回結果

p=subprocess.Popen('psaux',shell=True,stdout=subprocess.PIPE)
out,err=p.communicate()
forlineinout.splitlines():
printline

閱讀全文

與python返回父類命令相關的資料

熱點內容
看外國電影的網站 瀏覽:18
染島貢演過的電影 瀏覽:79
經典系列動作電影 瀏覽:730
勞拉是哪個電影里的名字 瀏覽:677
天才黑客林凡 瀏覽:514
中國電影票房排行榜實時票房貓眼 瀏覽:287
收母收姐妹 瀏覽:378
一男兩女後面兩女懷孕的番號 瀏覽:555
不需要會員就能看電視劇的網站 瀏覽:427
朝鮮古裝三及片 瀏覽:113
手機怎麼設置不解壓 瀏覽:110
崇石是誰演的 瀏覽:827
免費影視觀看網站入口 瀏覽:877
為什麼伺服器會出現很多藍屏 瀏覽:34
三國種馬收了何皇後 瀏覽:344
思甜APP怎麼樣 瀏覽:525
床戲美國 瀏覽:763
醉猴拳電影在線觀看 瀏覽:832
程序員在線教育 瀏覽:986
有部電影人可以穿牆 瀏覽:656