採用不同方式讀取資料流

2022-08-16 15:03:11 字數 749 閱讀 1517

一般我們用行輸入操作符<>讀取資料流,如果是標量上下文,就返回一行,如果是列表上下文,就返回資料流中所有的資料。

總體而言,一次讀取一行的方式在時間和記憶體的開銷上效率最高的。

my

$contents = do

;

可以選用file::slurp 模組替代我們完成。
use file::slurp;
my

$text = read_file('

filename

');

my

@lines = read_file('

filename

');

如果對行邊界無所謂,倒是可以用它們來實現快速掃瞄:

open

my ($fh1), '

<

' , $file1 or die

;open

my ($fh2), '

<

', $file2 or die;my

$chunk = 4096; #

每次讀取的資料大小

my ($bytes,$buf1,$buf2,$diff

) ;chunk: while ($bytes = sysread

$fh1, $buf1, $chunk

) print

"$file1 and $file2 differ"if

$diff;

Go Readers讀取資料流

go語言的io包指定了io.reader介面。go語言標準庫包含了這個介面的許多實現,包括檔案 網路連線 壓縮 加密等等。io.reader介面有乙個read方法 func t read b byte n int,err error 在程式中,我們使用迴圈讀取資料流,直到error返回io.eof。...

Python MySQL 資料庫連線不同方式

pymysql 驅動連線 什麼是 pymysql?pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。p...

讀取海康工業相機(gige)資料流

呼叫海康工業相機 gige 讀取資料流並轉為opencv numpy 矩陣格式 參考官方開發案例grabimage.py,對資料流相機轉換 def work thread cam 0,pdata 0,ndatasize 0 stframeinfo mv frame out info ex memse...