65. python中命令行提示符的实现

Lesson 65 python中命令行提示符的实现

1. os的system原理
os.system方法是os模块最基础的方法,其它的方法一般在该方法基础上封装完成
system函数可以将字符串转化成命令在服务器上运行;其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无法影响主进程;

上述原理会导致当需要执行多条命令行的时候可能得不到预期的结果:
例如:
import os

os.system('cd /usr/local')
os.mkdir('aaa.txt)
上述程序运行后会发现txt文件并没有创建在/usr/local文件夹下,而是在当前的目录下
2. 命令行提示符的实现
import os   
# print(os.system('ls'))
# print(os.system('pwd'))

导入os模块后, 可以使用os.system()来执行系统命令
ls #查看当前目录下的文件
pwd #查看当前环境所在目录
在这里插入图片描述

for i in range(1000):
    cmd = input('[test@foundation0 bin]$')
    if cmd:
        if cmd == 'exit':
            print('logout')
            break
        else:
            print('run %s' %(cmd))
            # 运行shell命令
            os.system(cmd)
    else:
        continue
  • 命令行提示符使用cmd来存放, 为了使测试效果比较明显, 在[@foundation14 bin]$前加yy, 以区别这是自己的python脚本, 而不是系统自带的命令行提示符
  • 当用户输入exit时,打印logout并退出程序
    在这里插入图片描述
    在shell中找到编写命令行提示符的python程序
    在这里插入图片描述
    运行这个程序, 可以看到,当输入命令时, 显示运行命令, 当输入exit, 可以看到, 显示logout退出yy用户, 回到系统之前的kiosk用户登陆的状态
    在这里插入图片描述
    说明我们已经实现了用python编写命令行提示符的程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值