'''python 员工信息表操作,刚学习,没有思路,参照网上某位朋友的写的'''
import sys
import os
def select1():
'''
查看文件的函数
:return:
'''
with open('e:\\员工信息.txt',mode='r',encoding='utf-8') as f:
line = f.readlines()
for i in line:
print(i.strip())
def select():
'''
查询函数
:return:
'''
msg = '''
请输入或者复制查询命令,如:
1.select name,age from staff_table where age > 22
2.select * from staff_table where dept = "IT"
3.select * from staff_table where enroll_date like "2013"
'''
print(msg)
user_choice_input = input('>>>:') # 让用户输入上面的命令
user_choice_input1 = user_choice_input.split(' ') # 用空格分割用户输入的命令
if user_choice_input == 'select name,age from staff_table where age > %s' % user_choice_input1[7]:
with open('e:\\员工信息.txt',mode='r+',encoding='utf-8') as f:
list_age = [] # 定义一个列表。将符合查询条件的员工信息添加进去
for line in f:
lis_age = line.strip().split(',')
if lis_age[2] > user_choice_input1[7]:
list_age.append(lis_age)
for list_age1 in list_age: # 将列表转换成字符串
print(','.join(list_age1))
print('符合条件的人数有 %s 人' %len(list_age))
elif user_choice_input == 'select * from staff_table where dept = %s' % user_choice_input1[7]:
with open('e:\\员工信息.txt', mode='r+', encoding='utf-8') as f:
list_dept = []
for line in f:
lis_dept = line.strip().split(',')
if lis_dept[4] == eval(user_choice_input1[7]):
list_dept.append(lis_dept)
for list_dept1 in list_dept:
print(','.join(list_dept1))
print('符合条件的人数有 %s 人' % len(list_dept))
elif user_choice_input == 'select * from staff_table where enroll_date like %s' % user_choice_input1[7]:
with open('e:\\员工信息.txt',mode='r',encoding='utf-8') as f:
list_data = []
for line in f:
lis_data = line.strip().split(',')
lis_year = lis_data[5].strip().split('-')
if lis_year[0] == eval(user_choice_input1[7]):
list_data.append(lis_data)
for list_data1 in list_data:
print(','.join(list_data1))
print('符合条件的人数有 %s 人' % len(list_data))
def alter():
'''
添加命令
:return:
'''
msg = '''
如果要添加一项员工信息,按照如下格式填写,内容与内容之间以逗号隔开,如:
Jack Wang,30,43304320533,INS,2015-05-03
'''
print(msg)
user_choice_input = input('请输入要添加的内容>>>:')
user_choice_input1 = user_choice_input.split(',')
with open('e:\\员工信息.txt',mode='r+',encoding='utf-8') as f:
list_id = []
for line in f: # 将现在员工信息的ID号保存到一个列表中 这个ID是使用的员工信息的 10位数字来进行判断的
if line == '\n':
continue # 这个地方是避免读取空行,如果读取空行,下面的添加代码会报错
lis_msg = line.strip().split(',')
list_id.append(lis_msg[3])
if user_choice_input1[2] in list_id:
print('已经有了这个ID了')
main()
else:
# 设置员工信息的序号
index = str(len(list_id) + 1) # list_id 列表的长度其实就是现有员工信息的个数
# 将需要插入到用户输入的最前面
user_choice_input1.insert(0,index) # 在用户输入的信息前面添加上序号
if len(list_id) == 0:
f.write(','.join(user_choice_input1)) # 如果里面没有内容,则直接写入,不换行
else:
f.write('\n')
f.write(','.join(user_choice_input1)) # 如果里面有内容,先进行换行,再进行写入
def delete():
'''
删除函数
:return:
'''
print('请输入要删除命令:输入用户的序号,既可以从列表中删除用户信息')
msg = '''
1.按 1 删除,直接删除用户的序号即可
2.按 2 或者 q 退出
3.按下其他任意键,返回上一层
'''
print(msg)
user_choice_input = input('请输入命令:>>>')
if user_choice_input == '1':
print('目前用户信息为:')
select1() # 输入现有用户的信息
print('\n')
user_choice_input1 = input('请输入需要删除的ID:>>>')
with open('e:\\员工信息.txt',mode='r+',encoding='utf-8') as f ,open('e:\\员工信息.bak',mode='w+',encoding='utf-8') as f1:
index = 1 # 删除的时候用来重新编号
for line in f:
lis_msg = line.strip().split(',')
if user_choice_input1.strip() != lis_msg[0]:
lis_msg[0] = str(index)
f1.write(','.join(lis_msg))
f1.write('\n')
index += 1
else:
continue
f.close()
f1.close()
os.remove('e:\\员工信息.txt')
os.rename('e:\\员工信息.bak','e:\\员工信息.txt')
select1()
elif user_choice_input == '2' or user_choice_input.lower() == 'q':
sys.exit()
return
def main():
'''
主程序
:return:
'''
print('员工信息表操作作业练习:')
msg = '''
请输入要进行的操作
1.查询
2.添加
3.删除
4.退出
'''
while True:
print(msg)
user_choice_input = input('请输入选项:>>>')
if user_choice_input.strip() == '1':
select()
elif user_choice_input.strip() == '2':
alter()
elif user_choice_input.strip() == '3':
delete()
elif user_choice_input.strip().lower() == '4' or 'q':
sys.exit()
else:
print('输入有误!请重新输入')
main()
输入员工姓名显示KPI Python python员工信息表
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python员工查询表
sysstaff_list = ()f = (staff_list)c = f.readlines(): user_input = ().strip()user_input == : &n
password python import welcome please