日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python找不到os模块_python之os模块

發(fā)布時(shí)間:2024/10/8 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python找不到os模块_python之os模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在自動(dòng)化測(cè)試中,經(jīng)常需要查找操作文件,比如說(shuō)查找配置文件(從而讀取配置文件的信息),查找測(cè)試報(bào)告(從而發(fā)送測(cè)試報(bào)告郵件),經(jīng)常要對(duì)大量文件和大量路徑進(jìn)行操作,這就依賴于os模塊,所以今天整理下比較常用的幾個(gè)方法。網(wǎng)上這方面資料也很多,每次整理,只是對(duì)自己所學(xué)的知識(shí)進(jìn)行梳理,從而加深對(duì)某個(gè)模塊的使用。

1.當(dāng)前路徑及路徑下的文件

os.getcwd():查看當(dāng)前所在路徑。

os.listdir(path):列舉目錄下的所有文件。返回的是列表類型。

>>> import os

>>> os.getcwd()

'D:\\pythontest\\ostest'

>>> os.listdir(os.getcwd())

['hello.py', 'test.txt']

2.絕對(duì)路徑

os.path.abspath(path):返回path的絕對(duì)路徑。

>>> os.path.abspath('.')

'D:\\pythontest\\ostest'

>>> os.path.abspath('..')

'D:\\pythontest'

3.查看路徑的文件夾部分和文件名部分

os.path.split(path):將路徑分解為(文件夾,文件名),返回的是元組類型。可以看出,若路徑字符串最后一個(gè)字符是\,則只有文件夾部分有值;若路徑字符串中均無(wú)\,則只有文件名部分有值。若路徑字符串有\(zhòng),且不在最后,則文件夾和文件名均有值。且返回的文件夾的結(jié)果不包含\.

os.path.join(path1,path2,...):將path進(jìn)行組合,若其中有絕對(duì)路徑,則之前的path將被刪除。

>>> os.path.split('D:\\pythontest\\ostest\\Hello.py')

('D:\\pythontest\\ostest', 'Hello.py')

>>> os.path.split('.')

('', '.')

>>> os.path.split('D:\\pythontest\\ostest\\')

('D:\\pythontest\\ostest', '')

>>> os.path.split('D:\\pythontest\\ostest')

('D:\\pythontest', 'ostest')

>>> os.path.join('D:\\pythontest', 'ostest')

'D:\\pythontest\\ostest'

>>> os.path.join('D:\\pythontest\\ostest', 'hello.py')

'D:\\pythontest\\ostest\\hello.py'

>>> os.path.join('D:\\pythontest\\b', 'D:\\pythontest\\a')

'D:\\pythontest\\a'

os.path.dirname(path):返回path中的文件夾部分,結(jié)果不包含'\'

>>> os.path.dirname('D:\\pythontest\\ostest\\hello.py')

'D:\\pythontest\\ostest'

>>> os.path.dirname('.')

''

>>> os.path.dirname('D:\\pythontest\\ostest\\')

'D:\\pythontest\\ostest'

>>> os.path.dirname('D:\\pythontest\\ostest')

'D:\\pythontest'

os.path.basename(path):返回path中的文件名。

>>> os.path.basename('D:\\pythontest\\ostest\\hello.py')

'hello.py'

>>> os.path.basename('.')

'.'

>>> os.path.basename('D:\\pythontest\\ostest\\')

''

>>> os.path.basename('D:\\pythontest\\ostest')

'ostest'

4.查看文件時(shí)間

os.path.getmtime(path):文件或文件夾的最后修改時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。

os.path.getatime(path):文件或文件夾的最后訪問(wèn)時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。

os.path.getctime(path):文件或文件夾的創(chuàng)建時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。

>>> os.path.getmtime('D:\\pythontest\\ostest\\hello.py')

1481695651.857048

>>> os.path.getatime('D:\\pythontest\\ostest\\hello.py')

1481687717.8506615

>>> os.path.getctime('D:\\pythontest\\ostest\\hello.py')

1481687717.8506615

5.查看文件大小

os.path.getsize(path):文件或文件夾的大小,若是文件夾返回0。

>>> os.path.getsize('D:\\pythontest\\ostest\\hello.py')

58L

>>> os.path.getsize('D:\\pythontest\\ostest')

0L

6.查看文件是否存在

os.path.exists(path):文件或文件夾是否存在,返回True 或 False。

>>> os.listdir(os.getcwd())

['hello.py', 'test.txt']

>>> os.path.exists('D:\\pythontest\\ostest\\hello.py')

True

>>> os.path.exists('D:\\pythontest\\ostest\\Hello.py')

True

>>> os.path.exists('D:\\pythontest\\ostest\\Hello1.py')

False

7.一些表現(xiàn)形式參數(shù)

os中定義了一組文件、路徑在不同操作系統(tǒng)中的表現(xiàn)形式參數(shù),如:

>>> os.sep

'\\'

>>> os.extsep

'.'

>>> os.pathsep

';'

>>> os.linesep

'\r\n'

8.實(shí)例說(shuō)明

在自動(dòng)化測(cè)試過(guò)程中,常常需要發(fā)送郵件,將最新的測(cè)試報(bào)告文檔發(fā)送給相關(guān)人員查看,這是就需要查找最新文件的功能。

舉例:查找文件夾下最新的文件。

代碼如下:

import os

def new_file(test_dir):

#列舉test_dir目錄下的所有文件(名),結(jié)果以列表形式返回。

lists=os.listdir(test_dir)

#sort按key的關(guān)鍵字進(jìn)行升序排序,lambda的入?yún)n為lists列表的元素,獲取文件的最后修改時(shí)間,所以最終以文件時(shí)間從小到大排序

#最后對(duì)lists元素,按文件修改時(shí)間大小從小到大排序。

lists.sort(key=lambda fn:os.path.getmtime(test_dir+'\\'+fn))

#獲取最新文件的絕對(duì)路徑,列表中最后一個(gè)值,文件夾+文件名

file_path=os.path.join(test_dir,lists[-1])

return file_path

#返回D:\pythontest\ostest下面最新的文件

print new_file('D:\\system files\\workspace\\selenium\\email126pro\\email126\\report')

運(yùn)行結(jié)果:

最后再啰嗦一句,關(guān)于lambda的用法(python中單行的最小函數(shù)):

key=lambda fn:os.path.getmtime(test_dir+'\\'+fn)

#相當(dāng)于

def key(fn):

return os.path.getmtime(test_dir+'\\'+fn)

喜歡這篇文章?歡迎打賞~~

總結(jié)

以上是生活随笔為你收集整理的python找不到os模块_python之os模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。