python判断文件是否打开_python如何判断一个文件是否处于打开状态?
请问你的是linux吗?如果是linux可以借助/proc来获取。
import os
class File(object):
def __init__(self, file_path):
if not os.path.exists(file_path):
raise OSError('{file_path} not exist'.format(file_path = file_path))
self.file_path = os.path.abspath(file_path)
def status(self):
open_fd_list = self.__get_all_fd()
open_count = len(open_fd_list)
is_opened = False
if open_count > 0:
is_opened = True
return {'is_opened': is_opened, 'open_count': open_count}
def __get_all_pid(self):
"""获取当前所有进程"""
return [ _i for _i in os.listdir('/proc') if _i.isdigit()]
def __get_all_fd(self):
"""获取所有已经打开该文件的fd路径"""
all_fd = []
for pid in self.__get_all_pid():
_fd_dir = '/proc/{pid}/fd'.format(pid = pid)
if os.access(_fd_dir, os.R_OK) == False:
continue
for fd in os.listdir(_fd_dir):
fd_path = os.path.join(_fd_dir, fd)
if os.path.exists(fd_path) and os.readlink(fd_path) == self.file_path:
all_fd.append(fd_path)
return all_fd
if __name__ == "__main__":
_file = File('/tmp/a.txt')
print(_file.status())
python判断文件是否打开_python如何判断一个文件是否处于打开状态?相关推荐
- Excel VBA 循环读取一个目录下面多个文件的内容,放到另外一个文件中
循环读取一个目录下面多个文件的内容,放到另外一个文件中 Public Sub getInputInfo()On Error GoTo errl'OUT対象ファイル開くDim wbOut As Work ...
- Java 将文件的内容复制到另一个文件
java将一个文件的内容复制到另一个文件. 使用BufferedWriter类的read和write方法将一个文件的内容复制到另一个文件. 完整代码 import java.io.*;public c ...
- jquery 文件上传 触发两次_点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果上传了3个文件,即发生了三次请求...
点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果页面上出现了3个文件,也就是上传了3个文件 我点击input,不选择任何文件,然后取消文件选择器的窗口,然后第二次次点击input ...
- java把一个文件的内容复制到另外一个文件
/** * java把一个文件的内容复制到另外一个文件 */ import java.io.File; import java.io.FileInputStream; import java.io ...
- 计算机文件管理没有桌面,电脑文件杂乱无章?可能你需要一个文件管理系统
原标题:电脑文件杂乱无章?可能你需要一个文件管理系统 作为一个效率人士,除了需要学会时间管理,我们还要时刻管理好我们的工具,电脑是很重要的工具,工作生活学习都会用到电脑. 虽然现在手机已经很强大,但很 ...
- python怎样判断一个文件是否存在_python如何判断一个文件是否存在
python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...
- python查看文件有多少行_python如何判断文件有多少行
如何统计读取的一个txt文本的行数呢? python学习网,大量的免费python视频教程,欢迎在线学习! 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式fi ...
- python判断回文数_Python练习题---判断回文数
设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...
- python判断字符串不相等_python怎么判断两个字符串不相等
字符串操作是编程语言中经常用到的,常见的有字符串增.删.改.查.在python中,判断两个字符串是否相等或一样,可以使用==或者is来判断:判断不一样可以使用 is not. 示例 使用注意事项 1. ...
- python判断列表中含有_Python:判断列表中含有字符串且组成新的列表打印输出-Dotest董浩...
''' 题一:判断列表中含有字符串且组成新的列表打印输出 知识点:列表.列表的增删改查.for循环.if判断 ''' #@Author:Dotest软件测试 #@QQ:1274057839 names ...
最新文章
- 科大讯飞:让世界听见AI的声音
- c++ 管理员身份_CATIA的管理员模式和多版本环境变量设置
- JavaFX UI控件教程(十六)之Separator
- android的读取xml配置文件,android中XMl文件的读取
- libreoffice Error: source file could not be loaded
- 理解java虚拟机工作后了解吗_JAVA入门到再次入门——深入理解JAVA虚拟机(二)|七日打卡...
- ORACLE 11G DATA GUARD配置之Dataguard简介
- django模型_Django模型
- UPC 2019年第二阶段我要变强个人训练赛第六场
- C#中将字符串中某字符不区分大小写并按全字匹配替换为空
- 卡巴斯基离线病毒库升级办法
- docx转换成txt linux,如何将doc / docx文件转换为markdown或结构化文本?
- lisp 焊接符号标注_焊接符号标注及表示方法-详解aws焊接符号、钢结构焊接符号含义大全...
- 山寨手机拇指30掌盟APP软件游戏下载安装破解激活图文教程2
- 最大似然估计方法介绍
- 无人驾驶系统是个复杂的计算机系统,无人驾驶汽车安全行驶的三大系统
- 90后站长-关于个人站长网赚的看法
- 棋牌平台短期内如何获得大量玩家
- html判断app是否安装类似淘宝,H5浏览器如何检查手机中是否安装某个APP并打开
- 达芬奇密码与斐波那契数列
热门文章
- redis单线程原理___Redis为何那么快-----底层原理浅析
- MySQL 普通索引和唯一索引的区别详解
- JAVA WEB篇4——Filter、Listener
- 线程中可以创建进程吗_Linux 进程线程是如何创建的?
- python对字符串数组进行排序、依据字符数_Python进行数据的排序以及字符串的操作...
- 得力条码扫描器怎么用_广东智能物流控制系统怎么选
- python获取文件夹名_python基础之获取文件目录及名称
- linux 命令行看图片,骚操作:用终端打开图片
- ipython文件每次打开重新运行吗_iPython中的多处理:当我不打开任何文件时打开的文件太多?...
- 有趣的编程代码_iPad amp; Mac 编程游戏推荐