1、想要获取当前时间需要使用time
import time #引用time方法
Now_time = time.strftime('%Y-%m-%d %H:%M:%S') #输出当前的时间,格式是固定的,输入结果为2017-06-08 21:21:33 2、在文件写入的时候,想在文件中加入空格或者换行的话,格式如下: 其中Now_time是定义的变量、nathing是函数中传入的参数,是可以加引号的,他们之间使用+号进行连接
fl.write(Now_time+' '+nathing+'\n') 3、当将文件中的内容换为字典了之后,密码怎么判断跟输入的用户是不是一致 当文件中字典的存放格式如下: 因为每个key有两个值,并且又放在一个字典里,其中passwd是第二个字典里的key,所以查找时可继续使用字典取值的方式,注意要加引号,因为字典中的key是字符串,不加引号的话会作为变量进行查找了
{'luoluo': {'money': 5435, 'passwd': 234567}, 'admin': {'money': '12.12', 'passwd': '123456'}}
pwd == str(user_dic[username]['passwd']) 4、添加商品中判断价格为小数的情况,以下是判断为数字和小数的情况,其中包括正小数和负小数:---牛牛大神的杰作喔
2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def is_float(s): s = str(s) if s.count('.')==1:#判断小数点个数 sl = s.split('.')#按照小数点进行分割 left = sl[0]#小数点前面的 right = sl[1]#小数点后面的 if left.startswith('-') and left.count('-')==1 and right.isdigit(): lleft = left.split('-')[1]#按照-分割,然后取负号后面的数字 if lleft.isdigit(): return True elif left.isdigit() and right.isdigit(): #判断是否为正小数 return True return False print(is_float('-98.9')) |
5、文集以字典形式存储,删除文件内容的时候,需要先将指针移到最前面,并且清空之后才可以,再写入
if p_name in products_dic: #products_dic是存放产品的字典
products_dic.pop(p_name) #删除一个商品,现在的字典是更新的最新的 fp.seek(0) #将指针移到最前面 fp.truncate() #清空文件里的所有内容 fp.write(str(products_dic)) #将更新的最新的字典写到文件里 print('删除商品成功') 6、函数与函数之间是怎么处理的 如果函数没有传参的话,函数一定要有返回值,返回True或者False,在使用的时候,可以作为条件进行判断 如果函数有传参的数,那么其他函数使用的时候,可以直接调用函数,根据需要传入参数 eg:没有传参的话,有返回值
def login(): with open('users.txt') as fr: fr.seek(0) user_str = fr.read() user_dic = eval(user_str) if username in user_dic: if pwd == str(user_dic[username]['passwd']): print("恭喜您登陆成功!") log("恭喜%s登陆成功!"%username) return True else: print("输入的密码有误!") return False else: print("您输入的用户名不存在") return False
eg:通过传入的参数,执行函数
import time def log(nathing): fl=open('log.txt', 'a+') Now_time = time.strftime('%Y-%m-%d %H:%M:%S') fl.write(Now_time+' '+nathing+'\n')
log("商品%s删除成功!" % p_name)#调用时 7、通过字典,可以更便捷的调用多个函数
choice = input('1添加商品,2删除商品,3查询商品,4用户管理,5退出,请输入你的选择:').strip() def hh(): print('修改商品...') def cc(): print('添加商品...') def query(): print('查询商品。。。') def delete(): print('删除商品。。。') menu = {'1': hh,'2': cc,'3': query,'4': delete} if choice in menu: menu[choice]() else: print('请输入1-5之间的值!') 8、判断文件内容是不是空的:
choice = input('1添加商品,2查询商品,3退出,请输入你的选择:').strip() fp = open('products.txt', 'a+') fp.seek(0) products_str = fp.read() # 这个是从文件里面读出来商品信息,是字符串 if len(products_str): # 这里是判断文件内容是否为空的,如果不为空的话,长度就大于0,就是真 # 一旦走这就说明是有产品 products_dic = eval(products_str) # 是把读出来商品信息转成字典 else: # 走这里就说明是没有商品信息的 products_dic = {} # 存放所有的商品 9、获取执行时输入的内容,并判断文件是否存在
#运行的时候要 python xxx.py hh.txt hehe haha import sys,os inputs = sys.argv # #存的是所有运行时候传进来的参数 # #它就是用来获取在用python命令运行python文件的时候,传入的参数 #1、判断用户输入的是不是够个数 if len(inputs)<4: print('参数不够,至少需要3个参数,e.g: python xx.py xx.txt old_str new_str..') else: file_name = inputs[1] old_str = inputs[2] new_str = inputs[3] new_file_name = file_name+'.new' if os.path.exists(file_name):#用它来判断文件是否存在 with open(file_name,encoding='gbk') as fr,open(new_file_name,'w') as fw: for line in fr: res = line.replace(old_str,new_str)#替换之后的内容 fw.write(res) os.remove(file_name) os.rename(new_file_name,file_name) else: print('文件不存在')