精华内容
下载资源
问答
  • 如何判断一个文件是否被打开
    2021-09-16 10:09:50

    Python: 如何判断远程服务器上Excel文件是否被人打开.
    这篇博文,提供了一个非常好的思路来判定一个Excel文件是否被打开,判断是否有“~$”开头的同名文件在同级目录下存在:比如test.xlsx被打开后会存在~$test.xlsx文件,如果没被打开则没有该文件。
    接下里我们只需要使用os.path.exists('xxx.xls‘)方法来判定其返回值即可。
    以下是代码实现:

    #判定文件是否打开
        def fileIsOpen(self,filename):
            filepath = os.path.dirname(filename)#获取文件的目录
            excelname = os.path.split(filename)[-1]#获取文件名
            hidefilename = filepath + r"/~$"+excelname#拼接出隐藏文件的文件路径
            #print(hidefilename)
            if os.path.exists(hidefilename):
                return True
                #print("File is Open")
            else:
                #print("File is Close")
                return False
    
    更多相关内容
  • 主要介绍了C#判断本地文件是否处于打开状态的方法,涉及C#操作文件的技巧,非常具有实用价值,需要的朋友可以参考下
  • Posted by:drum Posted on:2003-10-21 13:15 import java.io.RandomAccessFile;... } } 如果你把sleep的时间设的长些,然后运行它的同时你用记事本修改这test.txt会收到“进程无法访问文件”的错误信息

    Posted by:drum

    Posted on:2003-10-21 13:15

    import java.io.RandomAccessFile;

    import java.nio.channels.*;

    public class TestFileLock {

    public static void main(String[] args) throws Exception{

    Runnable r = new Runnable(){

    public void run()

    {

    try{

    RandomAccessFile raf = new RandomAccessFile ("c:\\test.txt","rw");

    FileChannel fc = raf.getChannel();

    FileLock lock = fc.tryLock();

    if(lock!=null)

    {

    System.out.println(Thread.currentThread().getName()+": Open the File");

    Thread.sleep(100000);

    lock.release();

    System.out.println(Thread.currentThread().getName()+": Releae the File.");

    }

    else

    System.out.println(Thread.currentThread().getName()+": Because the file is being used, you can't get the file lock.");

    }catch(Exception e)

    {

    }

    }

    };

    new Thread(r).start();

    new Thread(r).start();

    }

    }

    如果你把sleep的时间设的长些,然后运行它的同时你用记事本修改这个test.txt会收到“进程无法访问文件”的错误信息

    展开全文
  • 【C#】判断一个文件是否被打开

    千次阅读 2019-05-27 11:15:46
    /// 文件是否被打开 /// /// <param name="path"></param> /// <returns></returns> public static bool IsFileOpen(string path) { if (!File.Exists(path)) { return false; } IntPtr vHandle = _lopen(path...

     

    [DllImport("kernel32.dll")]
    public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
    
    [DllImport("kernel32.dll")]
    public static extern bool CloseHandle(IntPtr hObject);
    public const int OF_READWRITE = 2;
    public const int OF_SHARE_DENY_NONE = 0x40;
    public static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
    
    /// <summary>
    /// 文件是否被打开
    /// </summary>
    /// <param name="path"></param>
    /// <returns></returns>
    public static bool IsFileOpen(string path)
    {
        if (!File.Exists(path))
        {
            return false;
        }
        IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE);//windows Api上面有定义扩展方法
        if (vHandle == HFILE_ERROR)
        {
            return true; 
        }
        CloseHandle(vHandle);
        return false; 
    }

     

    展开全文
  • C#判断文件是否被打开

    热门讨论 2012-12-21 16:05:08
    C#判断文件是否被打开,以前自己用的,似乎也是从网上找来的。
  • _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...

    请问你的是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如何判断远程服务器上Excel文件是否被打开,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • if __name__ == '__main__': test() 详解 检查文件是否能使用写的方式打开 使用winapi的CreateFile对文件进行操作,如果不报异常的话即可认为是可以打开的 注意如果文件不存在,则也返回True 注意如果文件不可写等...
  • 查看哪个文件正在哪个exe打开,占用中
  • 如何判断文件是否已经被打开? 在这里通过文件的一些属性实现判断文件是否被打开,通过QFile将文件尝试实现例如linux的move操作和rm -r 的操作,就可以判断是否文件占用。 首先添加#include"QFile"头文件,再设置...
  • = NULL) //用打开文件函数来判断文件是否存在 { fclose(fp); //关闭文件句柄 system("start c:\\progra~1\\omron\\sysmac~1\\bin\\opcser~1.exe"); } else { if ((fp = fopen("c:\\progra~2\\omron\\sysmac~1\\bin\...
  • 判断一个文件是否正在其它的程序或进程所调用
  • 网上有同学是这样处理的:如果可以对其进行重命名,则没有占用,反之,该文件被占用。 示例代码 #include <QtCore/QCoreApplication> #include <QFile> #include <QDebug> int main(int argc,...
  • 可以试一下以下两个程序:先运行这个,让一个文件处于使用状态:import java.io.*;public class FileLocker {public static void main (String args[]) {try {File f = new File("a.txt");f.createNewFile();...
  • Python 技术篇-判断指定路径下的文件是否处于打开状态或占用状态实例演示。 说明: 如果是打开状态,会报如下错误:PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Deskto p\\接口用例...
  • 判断是否打开的函数如下: public bool IsFileOpened(string file) { bool result = false; try { FileStream fs = File.OpenWrite(file); fs.Close(); } catch (Exception e) { result = true; } return result; } ...
  • C++ 判断文件CFile已经打开

    千次阅读 2019-05-31 16:29:52
    m_hFile:表示一个打开文件的操作系统文件句柄。通过对m_hFile与CFile::hFileNull的比较来判断文件是否已经打开。 示例代码: CStringstrFilename=_T("D:\\大学语文.docx"); CFilefile; file.Open(strFilename,...
  • ),所以就研究了一下如何判断word文件是否被打开的情形。参考了一些资料,结合自己的理解,记录如下。 Excel VBA代码 ① 首先要在ExcelVBA工程中引入word 工具-引用,选取MicroSoft Word xx.0 Obje
  • 通过遍历已经打开的工作簿 *bookName需要加文件后缀名,如.xlsx Public Function IsWorkbookOpened(bookName As String) Dim wb As Workbook IsWorkbookOpened = False For Each wb In Application.Workbooks ...
  • 打开一下文件就知道有没有占用了,占用了... /// 判断文件是否被占用,返回bool值,占用返回True /// </summary> /// <param name="fileName">带文件名的路径,带后缀</param> /// <re...
  • 1. 方法:C语言之access2. 方法二:C++语言之access3. 方法三:C++方法之ifstream4. 方法四:fopen方法5. 方法五:sys中的stat函数方法
  • 方法:access函数判断文件夹或者文件是否存在 函数原型:int access(const char *filename, int mode); 所属头文件:windows下 io.h , Linux unistd.h filename:可以填写文件夹路径或者文件路径 mode 说明 ...
  • 判断文件是否被打开

    千次阅读 2014-11-25 20:50:20
    判断文件是否被打开 方法:通过try catch对文件的移动操作,如果文件打开,将不能移动,会进入catch段代码,通过返回bool值来反应是否能正常移动  private void button2_Click(object sender, EventArgs e) {...
  • C# 判断(Excel)文件是否已经打开 using System.IO; using System.Runtime.InteropServices; [DllImport("kernel32.dll")] public static extern IntPtr...
  • 请教各位大佬,想通过C++程序向EXCEL文件写入数据,但这个文件打开了就写不进去了,请问如何判断文件是否已经打开?
  • 方法一:CFile类的成员变量:m_hFile:表示一个打开文件的操作系统文件句柄。通过对m_hFile与CFile::hFileNull的比较来判断文件是否已经打开。示例代码:CStringstrFilename=_T("D:\\大学语文.docx"); CFilefile; ...
  • 本文主要解决保存文件时,如何检测该保存文件名对应文件打开时,提示文件已经打开或其他进程占用。
  • 最近做一个课题,要求winform客户端能保存接收到的实验数据到文件(如.txt文件),并能打开保存好了的实验数据文档,当数据文件已经被打开,要提示文件已被打开,也就是如何判断文件是否处于打开状态,然后给出相应...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 697,000
精华内容 278,800
关键字:

如何判断一个文件是否被打开