用Python模拟Linux命令行

本文介绍如何使用Python创建一个模拟Linux命令行的程序,避免依赖特定操作系统。通过两个文件ku.py和main.py,实现了命令行的基本功能,包括打开文本文件、主循环和保存操作。
摘要由CSDN通过智能技术生成

我们今天来用Python模拟Linux命令行!

之前在网上搜,都是用os.system函数运行指令,但是在Windows系统上就不能用了,所以我们今天做一个脱离系统的一个模拟器。

一、库文件(ku.py)

#ku.py
from random import randint
from rich import print as rprint
abc='abcdefghijklmnopqrstuvwxyz'
def readls():
    f=open("ls",mode='r')
    f.seek(0)
    b=f.readline()
    bb=''
    for i in b:
        #print(i)
        if i=='\n':
            break
        bb+=i
    dirlist=f.readline()
    #print(bb,dirlist)
    return [bb,dirlist]
dirlist=eval(readls()[0])
def getchar(char):
    for i in range(len(abc)):
        if abc[i]==char:
            return i
    return -1
def jiami(text,key,mode=0):
    if mode==0:
        keylist=list()
        textlist=list()
        milist=list()
        mitext=''
        keyrange=0
        for i in key:
            keylist.append(getchar(i))
        for i in text:
            textlist.append(getchar(i))
        for i in range(len(text)):
            milist.append(textlist[i]+keylist[keyrange])
            keyrange+=1
            if keyrange==len(key):
                keyrange=0
        for i in milist:
            if i>25:
                mitext+=abc[i-26]
                continue
            mitext+=abc[i]
        return mitext
    else:
        print('no this mode "',mode,'" .')
        return -1
def getkey(keylen):
    if keylen<=0:
        print('len is small!')
        return -1
    key=''
    for i in range(keylen):
        key+=abc[randint(0,25)]
    return key
def ls(dirlist):
    istr=''
    print("name     type")
    for i in dirlist:
        if i[1]=='dir':
            istr='[blue]'+i[0]+'     [white]'+i[1]
        elif i[1]=='exe':
            istr='[green]'+i[0]+'     [white]'+i[1]
        rprint(istr)
#ls([["hello","dir"],["exe","exe"]])
#input()

#print(readls())

def ls():
    global dirlist
    istr=''
    print("name     type")
    for i in dirlist:
        if i[1]=='dir':
            istr='[blue]'+i[0]+'     [white]'+i[1]
        elif i[1]=='exe':
            istr='[green]'+i[0]+'     [white]'+i[1]
        else:
            istr='[white]'+i[0]+'     [white]'+i[1]
        rprint(istr)
def mkdir():
    global dirlist
    dirlist.append([input("请输入文件夹名称:"),'dir'])
def add(name,typ):
    global dirlist
    dirlist.append([name,typ])
    #print(dirlist)
        

二、主文件(main.py)

引用库

import ku
import sys
from rich import print as rprint
from rich.progress import track
from time import sleep
import tkinter.messagebox as msg
import os

定义图标(可选)

a='''
              :ffttttfttttt.
          ,fttttttttttttftttttf.          
        tftttttttttttttttttfttttf1        
      ffttttttttttftttttf    .ttttfi      
     ftttttttttt.       t    ;ttttttf     
   .ttttttttt  :f        .tf1ttfttttf
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值