python和shell有什么区别?

Python020

python和shell有什么区别?,第1张

1、Python不需要记忆太多的命令,语法简单,有C基础的人学起来非常容易上手,易于使用而shell要学的命令有很多,但常用的命令不是很多。

2、Python可移植性好,它的标准是统一的,不会出现因为平台的不同运行结果不同,但shell的命令在各个平台上有些不一样。

3、Python更加强大,shell是一种命令语言,同时也可以看成是一个命令解释器,用于接收诸如awk、sed的命令调用等完成相关的功能。而Python则是一种编程语言,Python提供给程序员更大的自由度和灵活性,以完成shell所不能完成或者难于完成的编码任务,如实现面向对象的模块化设计、操作服务器数据库等。

4、Python支持面向对象、支持可扩展性和可嵌入性,同时提供了功能丰富的库。

5、性能方面,很明显地,Python的执行效率要高于shell,有一个很充分的理由就是shell本身的各种进程间IPC通信要造成相当大的开销而Python底层是C语言实现的,其性能可以接近于C,但具体相同功能的Python代码量却要比C短很多倍,因此Python的性能高于shell。

Shell是“提供使用者使用界面”的软件,是用C语言写的程序,属于一个命令语言,也是个编程语言。Shell脚本是shell写的脚本程序,我们一般说的shell就是指shell脚本。而Python同Java、C、PHP一样是一门计算机编程语言,但它是一个解释型、面向对象的语言。

shell是做系统管理的脚本,能力有限,多半是用于自动化任务,并不是系统级的编程语言。而python是系统级的编程语言,用途很广。

shell功能底下效率低,python效率高功能强大。

如果是复杂的的对象,用shell要写N多行代码,不如使使Python。

命令行的shell直接输入你要输入的东西就行。

Shell 循环

启动 shell 时,它会立刻展示命令提示符并等待输入。在接收到命令并执行完毕(细节会在后面讲到)后,shell 会再次回到等待循环,准备接收下一条命令。

在 shell.py 中,我们通过主函数调用 shell_loop() 函数,来启动循环。代码如下:

然后在 shell_loop() 函数中,使用 status 标志来表示循环是否应该继续。在循环开始时,shell 将立即显示命令提示符,并等待输入。

扩展资料

用户在 shell 中键入命令并按下回车时,输入的命令是一条长长的字符串,其中包含了命令名以及参数。因此,我们必须将其切分(将字符串拆分成多个 token)。

字符串切分乍一看很简单。我们可能会使用 cmd.split() 根据空格来分割输入的命令。对于形如 ls -a my_folder 的命令是奏效的,因为 cmd.split() 会将其拆分为一个列表 — ['ls', '-a', 'my_folder’],这样我们使用起来就比较容易了。

但是,某些情况下,某些参数会带有单引号或者双引号,比如 echo "Hello World” 或者 echo 'Hello World’。如果我们使用 cmd.split(), 将会得到一个包含三个 token 的列表 — ['echo', '"Hello', 'World”’],而不是包含两个 token 的列表 — ['echo', 'Hello World’]。