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:\Users\Administrator\Desktop'   or 'C:\Users\Administrator\Desktop\chrome.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('不存在的目录')
 
 

 



 

转载于:https://www.cnblogs.com/dcb3688/p/4463670.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值