目前我的 Python 程序打开一个像这样的文本文件:
os.system('gedit decryptedText.txt&')
现在,我认为这在 Windows 上不起作用,因为 gedit 是一个 Linux 应用程序?我怎样才能让它在 Windows 和 Linux 上运行。还是两者都适用?
目前我的 Python 程序打开一个像这样的文本文件:
os.system('gedit decryptedText.txt&')
现在,我认为这在 Windows 上不起作用,因为 gedit 是一个 Linux 应用程序?我怎样才能让它在 Windows 和 Linux 上运行。还是两者都适用?
首先检查操作系统,然后根据结果分配?
if os.name == 'nt':
os.system('notepad ecryptedText.txt&')
elif os.name == 'posix':
os.system('gedit decryptedText.txt&')
在 MS Windows 上,您可以将os.startfile(filename)用于具有关联编辑器的文件类型。
因此,您的完整解决方案将类似于:
def start_file(filename):
if os.name == 'nt':
os.startfile(filename)
else:
os.system('gedit %s&' % filename)
显然,它适用于两者,因为 gedit 是 Universe 的标准编辑器。
开玩笑。它不起作用,因为您实际上是在启动一个特定的应用程序,仅在某些平台 (Linux) 上可用。您可以在配置文件中配置您的默认编辑器启动命令,并使用它来组成您的命令字符串。