如何在 Mac 上的 Python 中打开 TextEdit 中的文本文件?
问题描述
else:
tkMessageBox.showinfo('Report Created', 'Your report was sucessfully created')
file = 'Student Report.txt'
os.system('TextEdit'+file)
我正在编写一个程序,该程序从数据库中的数据创建报告,将该数据写入文本文件,然后应该启动该文本文件以便可以打印.
I am writing a program that creates a report from data from a database, writes that data to a text file and then is supposed to launch that text file so that it can be printed.
我如何做到这一点?
我曾尝试使用网络浏览器,但没有成功.
I have attempted to use webbrowser but no luck.
解决方案
您可以使用 /usr/bin/open
OSX 实用程序:
You can use the /usr/bin/open
OSX utility:
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
模块 而不是 os.system
,因为它更容易避免逃避问题:
You should also use the subprocess
module instead of os.system
, as it is much easier to avoid escaping issues with it:
import subprocess
subprocess.call(['open', '-a', 'TextEdit', file])
相关文章