Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息

尝试在python下写一个简单的shell,这个是参考实验楼上面的一个python教程。觉得这些api挺好玩的,写下来做一个笔记。

这是后来写得 python下实现的一个mini shell :http://www.jianshu.com/p/30bac36a7651

#coding:utf-8
import os
import socket
import getpass
import platform

#獲得用戶名
print getpass.getuser()
#獲得主機名
print socket.gethostname()

#獲得當前目錄
cwd=os.getcwd()
print cwd

#獲得系統平臺
print platform.system() 

运行结果:


Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息_第1张图片
image.png

这样就很容易模仿出一个shell

#coding:utf-8
import os
import socket
import getpass
import platform
import sys

user=getpass.getuser()
print user

hostname=socket.gethostname()
print hostname

cwd=os.getcwd()
#print cwd

base_dir=os.path.basename(cwd)

home_dir = os.path.expanduser('~')
print home_dir

print platform.system() 

sys.stdout.write("[%s@%s %s]$ " % (user, hostname, base_dir))
#get input from shell
cmd=sys.stdin.readline()
print cmd
sys.stdout.flush()

运行结果:


Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息_第2张图片
image.png


现在支持4条命令

ls命令:
ls命令的实现可以依靠python os库的chdir函数

os.chdir('/home/zhaozheng/code')
cwd=os.getcwd()
print (cwd)

getenv命令:
获取shell的环境变量
可以依靠os库里面的getenv函数

 os.getenv('HOME')

cat命令:
查看文件
实现的基本思路是,通过打开一个文件,然后将他重定向到shell端。

history命令:
查看历史的输入命令
每一次的输入命令,都被写在一个文件里面,输入的每一条命令,都将他写到文件里面。执行history命令的时候,将文件输出。

exit命令:
退出当前的shell

你可能感兴趣的:(Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息)