2014-02-18 25 views
0
else: 
    tkMessageBox.showinfo('Report Created', 'Your report was sucessfully created') 
    file = 'Student Report.txt' 
    os.system('TextEdit'+file) 

我正在編寫一個程序,它根據數據庫中的數據創建報告,將該數據寫入文本文件,然後應該啓動該文本文件以便打印。如何從Mac上的Python中的TextEdit中打開文本文件?

我該如何做到這一點?

我試圖使用webbrowser,但沒有運氣。

回答

2

可以使用/usr/bin/open OSX實用程序:

NAME 
    open -- open files and directories 

SYNOPSIS 
    open [-e] [-t] [-f] [-F] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier] [-a application] file ... [--args arg1 ...] 

DESCRIPTION 
    The open command opens a file (or a directory or URL), just as if you had double-clicked the file's icon. If no application name is specified, the default application as deter- 
    mined via LaunchServices is used to open the specified files. 

    If the file is in the form of a URL, the file will be opened as a URL. 

    You can specify one or more file names (or pathnames), which are interpreted relative to the shell or Terminal window's current working directory. For example, the following com- 
    mand would open all Word files in the current working directory: 

    open *.doc 

    Opened applications inherit environment variables just as if you had launched the application directly through its full path. This behavior was also present in Tiger. 

你也應該使用subprocess module,而不是os.system,因爲它是很容易避免其逃避的問題:

import subprocess 
subprocess.call(['open', '-a', 'TextEdit', file]) 
+0

+1,順便說一句,最好提一下爲什麼問題中的代碼不起作用。 – falsetru

相關問題