一直在研究python编程,据圈内朋友闲聊,python应该是未来一个运维攻城狮除了shell以外必备的LINUX脚本语言,所以就硬着头皮,按照老男孩的python视频讲座,把自己的研究成果贴出来,目前还没学完,期待更加给力些。
PS:
1.python视频讲座很不错,希望能继续免费下去。。。
2.博主编程很烂,有什么地方有问题,还请多多指教。。。
3.最近买了本PYTHON核心编程,啃书ing。。。
# mkdir python
# vi contact_list.txt
-------------------------
1 zhangsan IT 0001
2 lisi IT 0002
3 wangwu HR 0003
4 zhaoliu OP 0004
-------------------------
# vi staff_list.py
----------------------------------------------------
#!/usr/bin/env python
#encoding:utf-8 # 支持中文输入
import sys
import getpass
import shutil
import commands
import time
import fileinput
staff_list = 'contact_list.txt'
# 参数配置
user = 'admin'
passwd = '123456'
s = file(staff_list)
ss = s.readlines()
a = file(staff_list,'a')
counter = 0
_counter = 0
# 认证登陆
while True:
# 计数器,超过3次强制退出
if counter <= 3:
# 空用户名判断
name = raw_input("please input your name: ").strip()
if len(name) == 0:
print "empty name,try again!"
continue
# 用户名密码判断,密码隐藏
# pwd = raw_input("please input your password: ")
pwd = getpass.getpass('please input your password:')
if pwd == passwd and name == user:
print "Welcome to login,%s" %name
else:
print "name or password is not valid,please try again!"
counter +=1
continue
break
else:
print "exceeded 3 times user login..exit the script"
sys.exit()
# 选择增删改查
while True:
item = raw_input('''\033[36;1mWelcome to login %s, what do you want to do
-----------------------
press 'p' for print
press 'a' for add
press 'd' for delete
press 'u' for update
press 's' for select
press 'q' for quit
-----------------------
please make your choise: \033[0m''' % user)
# 打印所有
if item == 'p':
while True:
user_select = open(staff_list,'r')
s_ = user_select.read()
print ' '
print '\033[32;1mThe content of the file\033[0m '
print '\033[32;1m--------------------------\033[0m '
print s_
print '\033[32;1m--------------------------\033[0m '
print ' '
break
# 增加
elif item == 'a':
while True:
user_add_num = raw_input(("\033[32;1mplease input your number: \033[0m ").strip())
user_add_name = raw_input(("\033[32;1mplease input your name: \033[0m ").strip())
user_add_dept = raw_input(("\033[32;1mplease input your department: \033[0m ").strip())
user_add_id = raw_input(("\033[32;1mplease input your id: \033[0m ").strip())
user_item = '%s\t%s\t%s\t%s' %(user_add_num,user_add_name,user_add_dept,user_add_id)
a.write("\n%s" %user_item)
a.flush()
print "\033[32;1mAdd item:\033[0m"
print "\033[32;1m------------------\033[0m"
print user_item
print "\033[32;1m------------------\033[0m"
print "\033[32;1mAdded successful!\033[0m"
# 删除空行
del_blank_in = open('contact_list.txt','r')
del_blank_out = open('contact_list_new.txt','w')
lines = del_blank_in.readlines()
for blank in lines:
if blank.split():
del_blank_out.writelines(blank)
del_blank_in.close()
del_blank_out.close()
# 覆盖原文件
shutil.move('contact_list_new.txt','contact_list.txt')
user_add_choise = raw_input('press Q for quit or press any key to continue: ')
if user_add_choise == 'Q':
print 'bye!'
break
# 删除
elif item == 'd':
while True:
user_del_input = raw_input("please input sth to delete: ").strip()
if len(user_del_input) == 0:
print "empty input,try again!"
else:
# 输入值与源文件比对,有则丢弃,没有则添加到新文件,最后新