实战一:批量创建文件
需求:在指定路径下批量创建3000份文本文件,文件名格式为序号_物资类别_用户识别码组成
1)序号从0001到3000
2)物资类别包括:水果、烟酒、粮油、肉蛋、蔬菜
3) 用户识别码为9位的随机十六进制数码
import random
import os
import os.path
#创建文件名
def create_filename():
filename_lst = []
lst = ['水果', '烟酒', '粮油', '肉蛋', '蔬菜']
code = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
for i in range(1, 3001):
filename = ''
if i < 10:
filename += '000' + str(i)
elif i < 100:
filename += '00' + str(i)
elif i < 1000:
filename += '0' + str(i)
else:
filename += str(i)
#拼接文件名 0000_商品名称
filename += '_' + random.choice(lst)
s = ''
for j in range(9):
s += random.choice(code)
#拼接文件名 _0000_商品名称__9位编码
filename += '_' + s
filename_lst.append(filename)
return filename_lst
def create_file(filename):
with open(filename, 'w') as file:
pass
if __name__ == '__main__':
path = './data'
if not os.path.exists(path):
os.mkdir(path)
lst = create_filename()
for item in lst:
create_file(os.path.join(path, item) + '.txt')
import os
import os.path
def mkdirs(path,num):
for item in range (1,num+1):
os.mkdir(path+'/'+str(item))
if __name__ == '__main__':
path='./newdir'
if not os.path.exists(path):
os.mkdir(path)
num=eval(input('请输入要创建的目录个数:'))
mkdirs(path,num)
import time
def show_info():
print('输入提示数字,执行相应的操作:0.退出 1.查看登录日志')
#记录日志
def write_loginfo(username):
with open('log.txt','a',encoding='utf-8') as file:
s=f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))}'
file.write(s)
file.write('\n')
#读取日志
def read_loginfo():
with open('log.txt','r',encoding='utf-8') as file:
while True:
line=file.readline()
if line=='':
break
else:
print(line)
if __name__ == '__main__':
#write_loginfo('admin')
username=input('请输入用户名:')
pwd=input('请输入密码:')
if username=='admin' and pwd=='admin':
print('登录成功')
write_loginfo(username)
show_info()
num=eval(input('请输入要操作的数字'))
while True:
if num==0:
print('退出成功')
break
elif num==1:
print('查看登录日志')
read_loginfo()
show_info()
else:
print('对不起,您输入的数字有误。')
show_info()
num=eval(input('请输入要操作的数字:'))
else:
print('用户名或密码不正确')
def find_answer(question):
with open('replay.txt','r',encoding='utf-8') as file:
while True:
line=file.readline()
if line=='':
break
#字符串分割
keyword=line.split('|')[0]
reply=line.split('|')[1]
if keyword in question:
return reply
return False
if __name__ == '__main__':
question=input('Hi,XXX你好,小蜜在此等候主人很久了,有什么烦恼?')
while True:
if question=='bye':
break
else:
reply=find_answer(question)
if reply==False:
question=input('小蜜不知道你在说什么,您可以问一些关于订单、物流、支付方面的问题,退出请输入bye')
else:
print(reply)
question=input('小主,您还可以䦣一些关于订单、物流、支付方面的问题。')
print('小主再见')
注:本文中的内容及实例均出自@Python_子木的视频