zoukankan      html  css  js  c++  java
  • 写代码中遇到的小问题

    1、charset 第三方库,用它来检测编码

    charset = chardet.detect(data).get('encoding')  # 判断读取到文件的编码格式
                    if charset:
                        filestr = data.decode(charset)  # 按照编码格式解码
                    else:
                        filestr = data.decode()

    2、datetime.timedelta:表示时间间隔,即两个时间点之间的长度。

    datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
    import datetime
    day = datetime.datetime.now()
    ddelay = datetime.timedelta(days=1)
    wdelay = datetime.timedelta(weeks = 5)
    ydelay = datetime.timedelta(weeks = 56)
    
    print(day)
    print(day - ddelay)  # 一天前的时间
    print(day + ddelay)  # 一天后的时间
    print(day - wdelay)  # 5 周前
    print(day + wdelay)  # 5 周后
    print(day - ydelay)  # 一年前
    print(day + ydelay)  # 一年后
    yestoday = now - timedelta(days=1) 
    tommorow = now + timedelta(days=1)
    
    next_year = now + timedelta(days = 365)

     3、list嵌套字典的操作

        exist_name = my_db(host='192.168.1.40', user='mysql', password='123456', db='mysql',
                               sql='select username from app_myuser;')
        list_name = []
        #将所有的用户名放在一个list中,进行循环判断
        for i in range(len(exist_name)):
            list_name.append(exist_name[i]['username'])
        if uname in list_name:
            print('您输入的用户名已存在,请重新输入')

    4、使用open打开文件FileNotFoundError: [Errno 2] No such file or directory: 'xxx'

    for cur_path,cur_dir,cur_files in os.walk(path):#读取给定路径的目录,子目录和文件
            for file in cur_files:
                if file.endswith('.txt'):#只判断.txt文件
                    #if os.path.getsize(file):

    with open(file,'rb') as fr
    #这行代码的file必须是在当前路径,要是不在当前路径会报错

    那么,遍历到不在当前目录的文件时会有标题的错,需要加上文件路径

     for cur_path,cur_dir,cur_files in os.walk(path):#读取给定路径的目录,子目录和文件
            for file in cur_files:
                if file.endswith('.txt'):#只判断.txt文件
                    #if os.path.getsize(file):
                    with open(os.path.join(cur_path,file),'rb') as fr:#直接写file的话,只是在当前目录下找
                        data = fr.read()

     5、操作数据库的时候可以直接从库中对比数据,查找数据是否存在,如下

        sql1= 'select username from app_myuser where username="%s";'%uname
        sql2 = 'select username,passwd from app_myuser where username="%s" and passwd ="%s";'%(uname,password)
        if not my_db(host='192.168.1.40', user='mysql', password='123456', db='mysql',sql=sql1):
            print('您输入的用户名不存在,请重新输入')
        else:
            if my_db(host='192.168.1.40', user='mysql', password='123456', db='mysql',sql=sql2):
                print('登录成功')
            else:
                print('您输入的密码不正确')

    注意使用:

    • if 语句后面的函数调用参数太多,最好是先调用一下,得到一个返回值
    • 函数调用里面的sql参数,不要直接那么写,也要单独定义一个变量,再传入
  • 相关阅读:
    拦截器
    git和bootstrap
    java面试题目
    Struts2笔记
    sql语句的面试题
    公司面试总结
    面试题12 包含 min 函数的栈 【栈】
    面试题11 字符串的排列[算法]
    [面试] 进程和线程的区别(面试题)
    [baidu] 面向对象的三个基本要素和五项基本设计原则
  • 原文地址:https://www.cnblogs.com/blueteer/p/10102505.html
Copyright © 2011-2022 走看看