python 多執行緒寫入檔案
在python中,對檔案的操作時很簡潔的,一般是通過開啟檔案,獲取檔案物件,然後對檔案物件進行寫入。
這是file 的一些常用方法:
class file(object):
def close(self): # real signature unknown; restored from __doc__
pass
def fileno(self): # real signature unknown; restored from __doc__
return 0
def flush(self): # real signature unknown; restored from __doc__
pass
def isatty(self): # real signature unknown; restored from __doc__
return false
def next(self): # real signature unknown; restored from __doc__
pass
def read(self, size=none): # real signature unknown; restored from __doc__
pass
def readinto(self): # real signature unknown; restored from __doc__
pass
def readline(self, size=none): # real signature unknown; restored from __doc__
pass
def readlines(self, size=none): # real signature unknown; restored from __doc__
return
def seek(self, offset, whence=none): # real signature unknown; restored from __doc__
pass
def tell(self): # real signature unknown; restored from __doc__
""" tell() -> current file position, an integer (may be a long integer). """
pass
def truncate(self, size=none): # real signature unknown; restored from __doc__
pass
def write(self, p_str): # real signature unknown; restored from __doc__
pass
def writelines(self, sequence_of_strings): # real signature unknown; restored from __doc__
pass
def xreadlines(self): # real signature unknown; restored from __doc__
pass
通常是通過write 直接乙個挨著乙個的寫,如果有一天,突然想要多個執行緒去寫乙個檔案,怎們辦呢??
思路是這樣的:
1.對於檔案的大小要確定
2.並且對於每個執行緒的需要處理的內容大小進行劃分
3.然後在各個執行緒裡面將內容寫入進去
4.需要注意的是對於每個執行緒,要給予乙個檔案物件,通常是在主線程中開啟檔案獲得檔案物件,然後複製這個檔案物件的描述符,並用os.fdopen()獲取這個檔案物件,傳遞給各個執行緒使用!
另外一種方式:
如果對檔案的大小,事先是不知道的,僅僅可以參考裡面有多少行,具體的大小,不知道的時候怎們辦呢。
注意:在進行一些檔案操作的時候,過多的列印一些輸出到控制台會影響程式的效率,一定注意!
SQLite 多執行緒序列寫入
確認在 sqlite3.c 中,巨集 sqlite threadsafe 1 或者 2 define sqlite threadsafe 1 imp r 07272 22309 include thread.h extern c include include utility.h int print...
python多執行緒讀取檔案
coding utf 8 importos,time import threading rlock threading rlock curposition 0 class reader threading thread def init self res self res res super rea...
python多執行緒 python多執行緒
通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...