返回顶部
首页 > 资讯 > 后端开发 > Python >Python的open函数文件读写线程不
  • 113
分享到

Python的open函数文件读写线程不

线程函数文件 2023-01-31 00:01:19 113人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

工作中遇到的问题:如何在多线程的程序中同时记录日志? 最初图省事,使用了最原始的open函数来写日志,因为开始使用的写文件模式的是追加('a'),发现并没有线程不安全的现象,各个线程的的日志信息都写入到了日志文件中。 后来将写文件模式改成

工作中遇到的问题:如何在多线程的程序中同时记录日志

最初图省事,使用了最原始的open函数来写日志,因为开始使用的写文件模式的是追加('a'),发现并没有线程安全的现象,各个线程的的日志信息都写入到了日志文件中。

后来将写文件模式改成了只写默认('w'),这时候线程不安全的问题就显露出来了,只有一个线程的日志信息被记录。

这时候觉得不能再图省事了,有必要把python标准库中专用日志模块logging好好学习一下,果然不让人失望,logging是线程安全的。无论是只写模式,还是追加模式,多线程的日志信息都正确的被记录下来了。

以下是测试代码:

 1 def file_io(message,mode):
 2     with open('log_test.log',mode) as f:
 3         f.write(message)
 4         f.write('\n')
 5 
 6 
 7 def logging_io(message,mode):
 8     logging.basicConfig(level='DEBUG',
 9                         filename='log_test1.log',
10                         filemode=mode)
11     logging.info(message)
12 
13 
14 if __name__ == '__main__':
15     messages= ['---hello--', '----nihaojlj', '----world%%%%%%%%%%%%%%%%%%']
16     for m in messages:
17         th = threading.Thread(target=logging_io, args=(m,'a'))
18         th.start()

 

总结

  1. 多线程同时写文件的时候,追加模式('a')貌似并没有线程不安全的现象
  2. 多线程记录日志信息,还是使用标准库的logging模块吧,它线程安全!专业的事用专业的模块!

 

--结束END--

本文标题: Python的open函数文件读写线程不

本文链接: https://lsjlt.com/news/182074.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python的open函数文件读写线程不
    工作中遇到的问题:如何在多线程的程序中同时记录日志? 最初图省事,使用了最原始的open函数来写日志,因为开始使用的写文件模式的是追加('a'),发现并没有线程不安全的现象,各个线程的的日志信息都写入到了日志文件中。 后来将写文件模式改成...
    99+
    2023-01-31
    线程 函数 文件
  • Python文件读写open函数详解
    前言: open()函数的定义:def open(file, mode='r', buffering=None, encoding=None, errors=None...
    99+
    2024-04-02
  • python文件读写(open参数,文件
    1.基本方法 文件读写调用open函数打开一个文件描述符(描述符的个数在操作系统是定义好的) python3情况下读写文件: f = open('py3.txt','wt',encoding='utf-8') f.write(...
    99+
    2023-01-31
    文件 参数 python
  • Python中怎么使用open函数读写文件
    本篇文章为大家展示了Python中怎么使用open函数读写文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/fin...
    99+
    2023-06-17
  • Python利用open函数读写文件的示例详解
    目录最简单读取文件操作操作一次文件读写完整流程文件打开方式python提供的读取方法有何意义小案例: 扫描redis配置文件总结在目前的环境中,读取文件应该算是最基本的操作了,pyt...
    99+
    2023-05-16
    Python open实现读写文件 Python open读写文件 Python 读写文件
  • Python文件读写open函数怎么定义使用
    这篇文章主要介绍“Python文件读写open函数怎么定义使用”,在日常操作中,相信很多人在Python文件读写open函数怎么定义使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python文件读写ope...
    99+
    2023-07-02
  • python读写文件with open的介绍
    目录一、案例一(读取)1、读取文件 基本实现2、读取文件 中级实现3、读取文件 终极实现二、案例二(写入)1、、写入文件 基本实现2、写入文件终极实现简介: 使用python的过程中...
    99+
    2024-04-02
  • python读写文件with open如何实现
    小编给大家分享一下python读写文件with open如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、案例一(读取)首先创建一个我们要读写的...
    99+
    2023-06-25
  • Python 文件处理之open()函数
    目录1.文件处理2.Python 文件写入3.创建新文件4.删除文件实例删除文件夹前言: 文件处理是任何 Web 应用程序的重要组成部分。 Python 有几个用于创建、读取、更新和...
    99+
    2024-04-02
  • Python数据读写之Python读写CSV文件
    目录1. 读取CSV文件 csv.reader()2. 写入CSV文件1. 读取CSV文件 csv.reader() 该方法的作用相当于就是通过 ',' 分割csv格...
    99+
    2024-04-02
  • 利用Python中的内置open函数读取二进制文件
    在python中读取一个文本文件相信大家都比较熟悉了,但如果我们遇到一个二进制文件要读取怎么办呢?我们尝试使用 Python 中的内置 open 函数使用默认读取模式读取 zip 文...
    99+
    2024-04-02
  • Python文件操作,open读写文件,追加文本内容实例
    1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('thefile.txt...
    99+
    2022-06-04
    文件 实例 文本
  • 如何编写 Golang 文件读写函数?
    go 语言通过 i/o 库高效进行文件读写。要读文件,使用 readfile 返回字节数组;写文件则使用 writefile 写入字节数组。此外,go 还支持其他 i/o 操作,如:打开...
    99+
    2024-05-15
    golang
  • python中open函数对文件处理的使用教程
    目录1.open()1.1 参数11.2 参数21.3 参数32.with open() as3.open函数常用的方法3.1 读3.2 写3.3 获取文件读写类型3.4 指针移动3...
    99+
    2024-04-02
  • python读写不同编码txt文件
    以后整理规范 import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt","w") for filename in filenames: ...
    99+
    2023-01-31
    文件 python txt
  • python中使用open函数找不到文件怎么解决
    如果使用open函数找不到文件,可以检查以下几点来解决问题: 确保文件路径正确:检查文件路径是否正确,包括文件名、文件夹层级等,可...
    99+
    2023-10-21
    python
  • 【SV】SystemVerilog系统函数文件读写
    一、简介         在systemverilog验证环境中,可能需要使用读写文本的操作,本文主要介绍sytemverilog中常用的文件处理系统函数。 二、常用系统函数 1.打开关闭文件         打开文件:fd = $fope...
    99+
    2023-09-21
    服务器 java 数据库
  • python使用open函数打开指定的文件
    在python中使用open()函数打开指定文件的方法open:open()函数的作用是用于打开一个文件。open()函数语法:open(name[, mode[, buffering]])参数:name:需要打开的文件名称。mode:打开...
    99+
    2024-04-02
  • C语言中的文件读写fseek 函数
    目录一.fseek 函数简介二.fseek 函数实战一.fseek 函数简介 fseek 函数用来移动文件流的读写位置;就好比播放器,可以直接拖拽到精彩的时间点一样,fseek 函数...
    99+
    2024-04-02
  • 使用python怎么实现一个文件读写函数
    本篇文章给大家分享的是有关使用python怎么实现一个文件读写函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。用到xlrd库函数需要预先install命令:pip insta...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作