python 多线程写入文件

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()获取这个文件对象,传递给各个线程使用!




猜你喜欢

转载自blog.csdn.net/hpulfc/article/details/80110395
今日推荐