在多平台打开终端界面的方法

os.system() 是python自带的并适用于各平台的一个函数,其主要作用就是执行终端命令。这里介绍了一下如何通过这个函数打开各个平台的终端,网上大多是关于如何执行终端命令,对终端的打开提及较少,这里做一个简单的总结。(有人可能会想为什么需要通过代码打开终端这种多此一举的行为,而不是直接打开,嘛,有些人的需求比较特殊。)

Windows:

打开一个终端:

  • 打开终端的同时执行指令
command = "ls"
os.system('start cmd /k'+command)
os.system('start cmd /c'+command)

这里的 /k 是option,其作用是运行完command时候返回到cmd 窗口。/c 则是运行完command 终止终端,也就是关闭cmd窗口。更多具体的option请参考以下链接:CMD.

Linux:

打开一个终端

os.system("gnome-terminal")

打开终端的同时执行指令

command="ls"
os.system("gnome-terminal -e '%s"%command)
os.system("gnome-terminal -e 'bash -c \"%s; exec bash\"'"%command)

第一条 os.system 是执行一次命令并关闭终端。
第二条 os.system 是执行一次命令返回终端。

GNOME Terminal 是 Linux 系统默认的terminal app的名字。
这两条指令的出处 原始链接

mac:

打开一个终端

os.system("open -a Terminal .")

如果是执行一个文件

os.system("open %s"%path)

如果执行一个终端命令,需要其他的module (如果有不需要的方法,欢迎留言告知)

import appscript
comand="ls"
appscript.app('Terminal').do_script(command)

如果同时又多条命令可以使用\n来操作:

appscript.app('Terminal').do_script('cd /Applications/\n ls \n pwd')
进入程序文件夹,ls查看文件列表,pwd查看路径

 

关于苹果执行命令的出处 点这里
Applescript 官方链接

以下是python 官网对这个函数的解释。官网说明

os.system(command)

在子 shell 中执行命令(字符串)。这是调用标准 C 函数 system() 来实现的,因此限制条件与该函数相同。对 sys.stdin 等的更改不会反映在执行命令的环境中。command 产生的任何输出将被发送到解释器标准输出流。在 Unix 上,返回值是进程的退出状态,编码格式与为 wait() 指定的格式相同。注意,POSIX 没有指定 C 函数 system() 返回值的含义,因此 Python 函数的返回值与系统有关。在 Windows 上,返回值是运行 command 后系统 Shell 返回的值。该 Shell 由 Windows 环境变量 COMSPEC: 给出:通常是 cmd.exe,它会返回命令的退出状态。在使用非原生 Shell 的系统上,请查阅 Shell 的文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值