檔案操作三 StringIO,BytesIO

2021-09-20 04:24:47 字數 2392 閱讀 4792

bytesio

file-like物件

list1 = 

for i in range(2000):

!lsof |grep python |wc -l

!ulimit -n #上限是1024

!ps aux|grep python #找到python的pid號

!lsof -p 7373 |grep "/web/test/"|wc -l #統計開啟檔案個數

for i in list1:

i.close() #測試完關閉

!ulimit -a  							 #檢視上限

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 14960

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 1024 *****這個是檔案開啟上限*****

pipe size (512 bytes, -p) 8

posix message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 8192

cpu time (seconds, -t) unlimited

max user processes (-u) 4096

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

用於文字i / o的記憶體中流。當呼叫close()方法時,文字緩衝區將被丟棄。

可以通過提供initial_value來設定緩衝區的初始值。如果啟用了換行符,則換行符將按照write()進行編碼。流位於緩衝區的開始。

換行符引數,預設設定僅將\n字元視為行的末尾,並且不進行換行。如果換行符設定為none,則在所有平台上將換行符寫為\n,但是讀取時仍會執行通用換行符解碼。

無視指標,輸出全部內容

用法示例:

from io import stringio           

output = stringio()

output.write('first line.\n')

print('second line.', file=output)

contents = output.getvalue()

print(contents)

output.close()

列印結果:

first line.

second line.

好處:磁碟操作比記憶體操作慢.記憶體足夠情況下,優化思路是少落地,減少磁碟io過程,提供程式執行效率

使用記憶體中位元組緩衝區的流實現。它繼承bufferediobase。當呼叫close()方法時,緩衝區將被丟棄。

對緩衝區的內容返回可讀寫的檢視,而不複製它們。另外,改變檢視將透明地更新緩衝區的內容:

b = bytesio(b"abcdef")

view = b.getbuffer()

view[2:4] = b"56"

b.getvalue()

print(b.getvalue())

列印結果:

b'ab56ef'

類檔案物件,可以像檔案物件一樣操作

socket物件,輸入輸出物件(stdin,stdout)都是類檔案物件

from sys import stderr,stdout

f = stdout

print(type(f))

print(f.write('666'))

Python 檔案操作三

檔案重新命名 os模組中的rename 可以完成對檔案的重新命名操作 rename 需要修改的檔名,新的檔名 import osos.rename 11.txt 12.txt 刪除檔案 os模組中的remove 可以完成對檔案的刪除操作 remove 待刪除的檔名 import osos.remov...

ini檔案三之操作

前些天見有個問怎麼用api來實現對ini檔案的讀寫,這個問題我也早就想實現一下,可一直沒有做,現在終於又多了乙個理由來研究它了 用api寫ini檔案的函式有 bool writeprivateprofilestring lpctstr lpkeyname,鍵名 lpctstr lpstring,新增...

Linux 檔案操作命令(三)

檔案列印命令 lpr 將檔案傳送到印表機佇列 lpq 返回預設印表機的當前列印佇列 lpc 印表機控制功能 壓縮與解壓縮功能 tar1.將整個 root目錄打包到tmp root.tar 只打包不壓縮 tar cvf tmp root.tar root 2.壓縮 tar zcvf tmp root....