我试图打开另一个进程打开的日志文件并删除前几行。

在Unix上,我只需做一个os.open('/tmp/file.log', os.O_NONBLOCK),这样就可以更接近我的目标。在

现在我被Windows困住了,我需要以某种方式旋转这个日志,而不结束保存文件的应用程序。这有可能吗?在

起初,我考虑在应用程序希望日志所在的位置打开一个文件句柄,并在Python中充当文件句柄的管道,但在Windows上我也找不到任何方法。在

我还考虑过定期移动文件并让应用程序重新创建该文件,但由于该文件被另一个进程使用,所以效果不太好。在

也想到了O_SHLOCK,但话说回来,那是Unix,而不是Windows。

所以我选择了mmap文件,希望它能让它更灵活一些,但这让我一无所获。在import mmap

import contextlib

import time

with open(r'test.log', 'r+') as f:

with contextlib.closing(mmap.mmap(f.fileno(), 0)) as m:

while 1:

line = m.readline()

if len(line) > 0:

print line

time.sleep(0.5)

这会导致应用程序无法访问该文件,因为Python正在保存该文件(反之亦然)。在

想到了signal.SIGHUP,但这在Windows中也不存在,所以回到原点。在

我被困住了,我已经试过了,Python能帮我吗?还是需要切换我的语言?在

python open文件被另一个进程打开怎么办,在Windows上,如何打开一个已经被另一个进程打开进行写入的文件?...相关推荐

  1. python怎么写入到文件中_Python学习笔记之将数据写入到文件中

    原博文 2019-10-29 16:04 − 10-3 访客:编写一个程序,提示用户输入其名字:用户作出响应后,将其名字写入到文件guest.txt 中. 编写Python代码: 1 username ...

  2. python怎么用excel-Python怎么写入excel文件?详细实例在这里。。。

    本文概述 Python写入excel文件用于使用xlwt模块在电子表格上执行多项操作.这是将数据和格式信息写入扩展名为.xls的文件的理想方法. 如果你想将数据写入任何文件, 又不想自己做任何麻烦, ...

  3. python:在Windows上使用 Python

    python:在Windows上使用 Python 4.1. 完整安装程序 4.2. Microsoft Store包 4.3. nuget.org 安装包 4.4. 可嵌入的包 4.5. 替代捆绑包 ...

  4. ubuntu安装python_使用WSL在Windows上搭建Python开发环境

    简介 2016年,微软推出了Windows Subsystem for Linux(WSL),这使得Windows具有了强大的Unix功能.2019年5月,微软宣布发布了具有更新架构的WSL2,该架构 ...

  5. 如何在PyCharm上配置Python解释器,以及解决Windows上PyCharm不能识别C:\Users\Me\AppData路径的问题。

    最近遇到这么一个问题.在Windows上安装Python解释器后,我在PyCharm上却不能找到相应的路径.我花了一些时间去解决这个问题,将解决方案记录于此. 1 如何在PyCharm上配置Pytho ...

  6. linux下运行python unitest_Python unittest打印日志可以在Linux上运行,但在Windows上不行...

    我正在尝试编写一个unittest,它将stdout和stderr重定向到一个写在Windows网络驱动器上的文件.出于某些原因,相同的脚本(只有diff.是目录路径)可以在Linux上工作,但在Wi ...

  7. 【文件处理】——字典写入json文件或TXT文件,读取文件中的字典TypeError: Object of type ‘ndarray‘ is not JSON serializable错误解决方法

    目录 一.将字典写入json文件 二.json文件中读取字典 三.将字典写入TXT文件中 四.从TXT中读取字典 五.解决字典含数组存入json文件失败的方法 1.存入前将数组变成列表 2.扩展类方法 ...

  8. 服务器c盘windows文件夹太大,Win10C盘windows文件夹过大怎么办?Win10C盘windows文件夹过大的解决方法...

    在我们使用win10操作系统的时候会发现,C盘的windows文件夹内存占用空间特别大,那么应该如何删除或者清理这个windows文件夹内的东西呢?下面就和小编一起来看看有什么方法吧. Win10C盘 ...

  9. matlab将图片写入指定文件夹,将图像写入图形文件

    A - 图像数据 矩阵 图像数据,指定为满(非稀疏)矩阵. 对灰度图像而言,A 可以是 m×n. 对索引图像而言,A 可以是 m×n.指定 map 输入参数中的相关颜色图. 对真彩色图像而言,A 必须 ...

最新文章

  1. AAAI 2020论文解读:商汤科技发布新视频语义分割和光流联合学习算法
  2. Android序列化的存储和读取
  3. docker 安装mysql
  4. Django从理论到实战(part51)--User模型
  5. 随想录(skyeye中的soc仿真)
  6. Electron 应用实战 (架构篇)
  7. 一台计算机要两个内网,局域网如何在一台电脑上设置两个IP地址
  8. 反编译工具ILSpy下载
  9. qt银行排队系统服务器代码,基于qt的银行排队系统
  10. laravel 使用 vue 和 element
  11. python求周长_作业-python面向对象编程-计算周长和面积
  12. 华为云服务器双十一报价表出炉最新内容
  13. phpstudy和mysql哪个好_Phpstudy升级到Mysql8
  14. 电脑开机黑屏,只有鼠标箭头(windows无法加载桌面)?
  15. java 数组是连续存储吗_数组在Java中储存在()中_学小易找答案
  16. iOS 开发中的 Flux 架构模式
  17. 流体力学概念总结(涉及所有重点)
  18. java使用drawtext重叠_DrawText的使用
  19. 详解TCP/IP协议栈面临的五大网络安全问题
  20. 《挑战程序设计竞赛(疑惑)》19.2九宫格拼图

热门文章

  1. Graphics 单元中的类
  2. plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)
  3. 【白皮书分享】2021消费者数智化运营白皮书.pdf(附下载链接)
  4. 【报告分享】数实共生:未来经济白皮书2021-腾讯研究院.pdf(附下载链接)
  5. 【干货】中国非结构化数据中台实践白皮书.pdf(附55页pdf下载链接)
  6. 【报告分享】抖音蓝V账号定位及外化罗盘.pdf(附下载链接)
  7. 注入器 过检测_福特全顺V348检测车报价
  8. 如何打造千万播放量的Tiktok
  9. Java-类和对象、关键字、构造方法
  10. TensorFlow2.0:索引和切片(2)