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('不存在的目錄')
 
        

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM