zoukankan      html  css  js  c++  java
  • Python 打开目录与指定文件

    Python打开外部文件有很多方法,

    os.popen
    打开外部程序,但发现只能打开文件所在目录的文件

    os.system
    可打开外部文件
    os.system(command)
    command 要执行的命令,相当于在Windows的cmd窗口中输入的命令。如果要向程序或者脚本传递参数,可以使用空格分隔程序及多个参数。

    os.startfile  (推荐)
    可打开外部程序
    os.startfile (path [, operation])
    这样执行的动作与在Windows Explorer中双击文件相同。在应用程序运行之后, 函数就会返回。此外不能等待完成或者从应用程序获得退出代码。path的值是相对于当前目录而言。operation是一个可选的字符串, 用于指定打开path时执行的动作。它的默认值是 'open', 但也可以将它置为'print’、'edit'、'explore'或'find'[确切的列表跟path的类型有关( Windows)]。

    win32process.CreateProcess
    参数说明:

    CreateProcess(appName, commandLine , processAttributes , threadAttributes , bInheritHandles ,dwCreationFlags , newEnvironment , currentDirectory , startupinfo )

    
    
    其参数含义如下。
    appName:可执行的文件名。
    commandLine:命令行参数。
    processAttributes:进程安全属性,如果为None,则为默认的安全属性。
    threadAttributes:线程安全属性,如果为None,则为默认的安全属性。
    bInheritHandles:继承标志。
    dwCreationFlags:创建标志。
    newEnvironment:创建进程的环境变量。
    currentDirectory:进程的当前目录。
    startupinfo :创建进程的属性。
    使用:
    1 import win32process
    2 win32process.CreateProcess('c:\windows\notepad.exe', '', None , None , 0 ,win32process. CREATE_NO_WINDOW , None , None , win32process.STARTUPINFO())
    
    



    ----------------------
    推荐使用startfile 和 win32process
     1       Obj='C:UsersAdministratorDesktop'   or 'C:UsersAdministratorDesktopchrome.exe'
     2       if Obj and os.path.exists(Obj):  #文件or 目录存在
     3             if os.path.isfile(Obj):
     4                 import win32process
     5                 try:   # 打开外部可执行程序
     6                     win32process.CreateProcess(Obj, '',None , None , 0 ,win32process. CREATE_NO_WINDOW , None , None ,win32process.STARTUPINFO())
     7                 except Exception, e:
     8                     print(e)
     9             else:
    10                 os.startfile(str(Obj))  # 打开目录
    11 
    12         else:  # 不存在的目录
    13             print('不存在的目录')
    
    
    


     
  • 相关阅读:
    C++标准转换运算符(2)
    C++标准转换运算符(1)
    未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于……
    我的第一篇博客
    C语言C语言程序
    C语言基本运算符
    C语言流程控制
    C语言关键字、标识(zhi)符、注释
    msado15.dll版本引发的离奇故障
    mySQL错误: The used table type doesn't support FULLTEXT indexes
  • 原文地址:https://www.cnblogs.com/dcb3688/p/4463670.html
Copyright © 2011-2022 走看看