當前位置:首頁 » 編程語言 » python讀取文件大小

python讀取文件大小

發布時間: 2023-09-01 06:39:31

python 在不解壓的情況下,怎麼得知壓縮包裡面文件的大小呢

可以使用 tarfile 模塊在不解壓的情況下查看壓縮包里文件的大小,代碼如下:

#coding=utf8

importtarfile
importos

tar=tarfile.open('G:/test/abc.tar.gz','r:gz')

fortiintar:
ifti.isreg():
print(ti.name,ti.size)

② python3中為什麼os.path.getsize()獲取的大小和windows資源管理器里文件大小不一致

os.path.getsize()返回的是path的大小,path如果是一個文件,那麼就是文件大小;如果是文件夾,那麼就是文件夾大小,文件夾大小是指文件夾這個數據結構在文件系統中佔用的大小,NTFS文件系統中一個簇通常是4096位元組,一個文件夾佔用一個簇,所以NTFS中任何一個文件夾的大小都是4096位元組。

③ Python中如何獲取ftp伺服器上的文件大小

這要看你下載用了哪個ftp庫
搜到的代碼

files = ftp.nlst()
for f in files:
print f

④ python 實時檢測文件夾的大小,如果超過設定值,自動清空文件夾,如何

實時檢測我覺得可能沒必要了,周期性檢測倒是不錯,比如每隔30秒檢查一次,除非你一秒鍾就幾十上百兆數據寫入,那就得實時檢測了。
實時監測的話,在while循環里不停的查看文件夾的變化
首寫關於文件夾的大小,據我所知道的python標准庫並沒有提供關於文件夾大小的api或套件,你需要一個一個文件的去遍歷獲取文件的大小累加求和,獲取文件大小可以使用os.stat(文件路徑)。不過最好的方式,我覺得是通過調用系統命令獲取文件夾的大小,這樣就不用寫遞歸方法,獲取你要清空目錄下的文件目錄結構,當然目錄結構簡單的話,遞歸方法都不用寫。不知道你的操作系統是什麼,linux的話可以用
-sh /data/applog/
在python2.7中可以使用commands.getoutput執行上面的命令並獲取到輸出結果
第二就是關於清空文件夾的,你必須保證沒有程序對你要清空的目錄進行訪問,你才能正常的清空,否則,對於在使用中的文件你會清空失敗。清空文件夾你可以使用shutil庫里的rmtree()方法,它不管你文件夾是否有文件或子文件夾,使用它就是一行代碼的事情,如果使用os模塊進行刪除的話你要從最底層文件夾開始刪除。最後你再重新新建這文件夾
上面只是思路,具體使用還得根據你的實際需要來的

如果你要進行周期性檢測的話,可以使用標准庫中的sched庫來開發

⑤ python 二進制讀取文件 如何知道真實的讀取位元組大小

read(100)讀取的結果保存在buff,buff是位元組類型

用len(buff)可以返回讀取位元組的實際長度。

⑥ 如何用python快速讀取幾G以上的大文件

如果你沒那麼大的內存 解決方法有幾個:

  1. 使用swap 一次性read()讀取

  2. 系統層面分割大文件為數個小於系統內存的小文件,分別讀取

  3. 使用python 按數據大小逐塊讀取,使用完數據即釋放該部分內存:

whileTrue:
chunk_data=file_object.read(chunk_size)
ifnotchunk_data:
break
yieldchunk_data

⑦ python如何獲取windows文件屬性的詳細信息

#已知文件名的情況下,可以用這個函數
def getFileInfo(filepath):
info = {}
if os.path.isfile(filepath):
info['TimeCreated'] = os.path.getctime(filepath)
info['TimeModified'] = os.path.getatime(filepath)
info['Size'] = os.path.getsize(filepath)
return info

⑧ Python 讀取文件夾將裡面的圖片處理成想要的大小並保存在個指定位置

fromPILimportImage
importos.path
importglob
defconvertjpg(jpgfile,outdir,width=1280,height=720):
img=Image.open(jpgfile)
new_img=img.resize((width,height),Image.BILINEAR)
new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
forjpgfileinglob.glob("D:/python/*.jpg"):
convertjpg(jpgfile,"D:/newfile")

convertjpg調用時可以有四個參數,如convertjpg(jpgfile,"D:/newfile",800,600)

Image open了jpg用完後要不要close?

⑨ python 一個文件太大+內存裝不下+怎麼讀取 mongo

Python 環境下文件的讀取問題,請參見拙文Python 基礎 —— 文件

這是一道著名的 Python 面試題,考察的問題是,Python 讀取大文件和一般規模的文件時的區別,也即哪些介面不適合讀取大文件。

1. read() 介面的問題

f = open(filename, 'rb')
f.read()12

我們來讀取 1 個 nginx 的日至文件,規模為 3Gb 大小。read() 方法執行的操作,是一次性全部讀入內存,顯然會造成:

MemoryError...12

也即會發生內存溢出。

2. 解決方案:轉換介面

  • (1)readlines() :讀取全部的行,構成一個 list,實踐表明還是會造成內存的問題;

    for line in f.reanlines(): ...
  • 1

  • 2

  • (2)readline():每次讀取一行,

    while True:
    line = f.readline() if not line: break
  • 1

  • 2

  • 3

  • 4

  • (3)read(1024):重載,指定每次讀取的長度

    while True: block = f.read(1024) if not block: break
  • 1

  • 2

  • 3

  • 4

  • 3. 真正 Pythonic 的方法

    真正 Pythonci 的方法,使用 with 結構:

  • with open(filename, 'rb') as f: for line in f:

  • <do something with the line>123

  • 對可迭代對象 f,進行迭代遍歷:for line in f,會自動地使用緩沖IO(buffered IO)以及內存管理,而不必擔心任何大文件的問題。

    There should be one – and preferably only one – obvious way to do it.

熱點內容
怎麼編程套料 發布:2025-02-04 02:50:31 瀏覽:205
副編譯 發布:2025-02-04 02:05:25 瀏覽:613
解壓按摩師 發布:2025-02-04 01:21:31 瀏覽:424
linuxssh限制 發布:2025-02-04 01:20:40 瀏覽:697
腳本式是什麼 發布:2025-02-04 01:06:24 瀏覽:248
手機wps密碼怎麼取消密碼 發布:2025-02-04 00:51:44 瀏覽:596
演算法邏輯表 發布:2025-02-04 00:51:44 瀏覽:241
零售股票如何配置主線 發布:2025-02-04 00:51:07 瀏覽:949
預演算法施行時間是 發布:2025-02-04 00:50:30 瀏覽:344
世界ol上傳照片 發布:2025-02-04 00:34:13 瀏覽:64