Python 文件 text.py
中包含非 UTF-8 编码的字符,而 Python 默认使用 UTF-8 编码来解析文件。因此,您需要在文件的开头声明文件使用的编码,以便 Python 正确地解析该文件。
# -*- coding: utf-8 -*-
import random#随机数
import os
import os.path#os的子模块
#函数式编程
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)
else:
filename+=str(i)
#拼接类别
filename+='-'+random.choice(lst)
#拼接识别码
s=''
for j in range(9):#循环的作用是次数
s+=random.choice(code)
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')
#开始创建文件
#print(create_filename())
# print(create_filename())
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()))}\n'
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.strip()) # 使用 strip 去除换行符
if __name__ == '__main__':
# write_loginfo('admin')
username = input('请输入用户名:')
pwd = input('请输入密码:')
if username == 'admin' and pwd == 'admin':
print('登录成功')
# 将登录信息写进日志
write_loginfo(username)
# 提示用户操作
show_info()
num = int(input('请输入要操作的数字:'))
while True:
if num == 0:
print('退出成功')
break
elif num == 1:
print('查看登录日志:')
read_loginfo()
show_info()
else:
print('对不起,您输入的数字有误:')
show_info()
num = int(input('请输入要操作的数字:'))
else:
print('用户名或密码不正确')
def find_answer(question):
with open('log.txt', 'r', encoding='utf-8') as file:
while True:
line = file.readline()
if line == '':
break
parts = line.split('|')
if len(parts) >= 2: # 检查分割后的列表是否有至少两个元素
keyword, reply = parts[0], parts[1].strip() # 去除换行符
if keyword in question:
return reply
else:
print(f"请换一个关键词:{line}")
return False
if __name__ == '__main__':
question = input('HI,XXX,请告诉我你需要的商品类型:')
while True:
if question == 'bye':
break
else:
# 开始查找要回复的答案
reply = find_answer(question)
if reply is False:
question = input('请换一个关键词:')
else:
print(reply)
question = input('还有什么需要的吗?')
# HI,XXX,请告诉我你需要的商品类型:辣条
# 请换一个关键词:
#
# 请换一个关键词:零食
# 薯片,辣条,凤爪,曲奇
# 还有什么需要的吗?bye
#
# Process finished with exit code 0