我们今天来用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