zoukankan      html  css  js  c++  java
  • 日志(2)

     

    1. path1 = os.path.dirname(__file__)  

    2. print(path1)#获取当前运行脚本的绝对路径 

    3. path2 = os.path.dirname(os.path.dirname(__file__)) #  
    4. print(path2)#获取当前运行脚本的绝对路径(去掉最后一个路径) 

    后面以此类推
    拼接路径
    config_path=os.path.join(os.path.dirname(__file__),config_path)


    问题2:

    extend()和expend的区别
    list.append(object) 向列表中添加一个对象object
    list.extend(sequence) 把一个序列seq的内容添加到列表中

    问题3:

    sql中的set和update语句

    UPDATE Person
    SET Address = 'Zhongshan 23', City = 'Nanjing'
    WHERE LastName = 'Wilson'

    其使用格式:
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

    sql 中的rollback,commit(?)
    ROLLBACK 只能在一个事务处理内使用(在执行一条 START TRANSACTION 命令之后)
    ROLLBACK 语句回退START TRANSACTION 之后的所有语句

    哪些语句可以回退? 事务处理用来管理 INSERT 、 UPDATE 和DELETE 语句
    你不能回退 SELECT 语句。(这样做也没有什么意义。)你不能回退 CREATE 或 DROP 操作。事务处理块中可以使用这两条语句,但如果你执行回退,它们不会被撤销。

    源文档 https://www.cnblogs.com/minigrasshopper/p/7803989.html

    问题4:

    dict() 函数用于创建一个字典。返回一个字典。

    d = dict()
      d['key'] = 'value' #插入值

    问题5:

    python模块之configparser
    configparser用于处理特定格式的文件,其本质上是利用open来操作文件。
    源文档 https://www.cnblogs.com/huamingao/p/6081064.html

    解析配置文件:

    cfg = configparser.ConfigParser()
    #这个read表示对某个文件用读打开,
    cfg.read(config_path,encoding = 'utf-8')

    常用方法:

    1 #返回指定结点下的所有键值对
    ret = config.items('section1')
    2 #options返回的是指定店铺的配置文件中的键
    keys = cfg.options(shop_id)
    3 获取指定节点下指定key的值
    v = config.get('section1', 'k1')

    问题6:

    报错:
    invalid character in identifier报错:

    意思就是“标识符中的无效字符”,检查下有没有字符是中文的,把中文字符改成英文字符再运行就OK啦。

    问题7:

    Python multiprocessing模块

    http://blog.csdn.net/dutsoft/article/details/54694798

    多线程模块
    multiprocessing.dummy
    
    #创建管理进程模块:
    • Process(用于创建进程模块)
    • Pool(用于创建管理进程池)
    • Queue(用于进程通信,资源共享)
    • Value,Array(用于进程通信,资源共享)
    • Pipe(用于管道通信)
    • Manager(用于资源共享)
    
    #同步子进程模块:
    • Condition
    • Event
    • Lock
    • RLock
    • Semaphore

    问题8:

    linux与windows的不同:
    linux的字符界面不是windows 下的dos界面
    1 linux严格区分大小写
    2 linux中所有内容以文件形式保存,包括硬件。*
    3 linux不靠扩展名区分文件类型(有约定俗成的 扩展,但是只是为了给管理员看的)
    4 windows下的程序不能直接在linux中安装和运行的。

    字符界面的优势
    字符界面占用系统资源少
    字符界面减少了出错、被攻击的可能性。

    问题9:

    报错:

    xxxxx takes 1 positional argument but 2 were given
    缺少参数

    问题10:

    #Python 获取日期
    self.todaydate=datetime.date.today()
    self.yesterday=self.todaydate-datetime.timedelta(days=1)
    self.tomorrow=self.todaydate+datetime.timedelta(days=1)
    self.before7day=self.todaydate-datetime.timedelta(days=7)
    
    self.todaytime=datetime.datetime.now().strftime('%Y-%m-%dT00:00:00')
    self.yesterdaytime=self.yesterday.strftime('%Y-%m-%dT00:00:00')
    self.tomorrowtime=self.tomorrow.strftime('%Y-%m-%dT00:00:00')

     注意:

    将日期类型当做参数的时候,要根据参数类型修改,有时候参数可能是字符串,要将日期类型改为str类型的(判断日期相等的时候也可能需要)。

    问题11:

    传入参数个数报错,可能是因为写方法的时候没有加入self。

    SQL SELECT 日期函数的时候需要一字符串的方式传入。

    爬取的数据在写入数据库的时候要注意是否是None类型,数据库字段可能是notnull类型。

    问题12:

    怎么声明编码

    源文档 <http://blog.csdn.net/wangbenzhang/article/details/76448784>

    Python编程时,经常需要跳过第一行读取文件内容。

    源文档 <http://blog.csdn.net/vernice/article/details/46501885>

    问题13:

    python如何生成链表
    见牛客网的习题

    mergeHead = ListNode(90)#创建一个链表结点
    pHead1.val #pHead1结点的值
    pHead.next表示该结点的下一个结点

    问题14

    Python 字典如何获取字典中最大值对应的键

    1. 利用min(dict, key=dict.get)
    >>> d = {1:1, 2:0, 3:2}
    {1: 1, 2: 0, 3: 2}
    >>> min(d, key=d.get)
    2
    2. 利用lambda函数
    >>> min(d.items(), key=lambda x: x[1]) 
    (2, 0)
    >>> min(d, key=lambda x: d[x])
    2
    3. collections模块中的Counter方法返回列表中每个元素出现的次数,返回的结果是一个字典,元素作为键,次数作为值。
    tmp = collections.Counter(numbers)
    defget_max(data):
    count=Counter(data)
    m=max(count,key=count.get)
    returnm

      

    问题15

    1 Case具有两种格式。简单Case函数和Case搜索函数。 
    --简单Case函数 
    CASE sex 
             WHEN '1' THEN '男' 
             WHEN '2' THEN '女' 
    ELSE '其他' END 
    --Case搜索函数 
    CASE WHEN sex = '1' THEN '男' 
             WHEN sex = '2' THEN '女' 
    ELSE '其他' END 

    源文档 <https://www.cnblogs.com/clphp/p/6256207.html>


    2 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

    select (case when a>b then a else b end), 
    (case when b>c then b esle c end) 
    from table_name

    问题16:

    1 Cmd ipconfig查询我的ip信息

    2 写代码要遵循开发封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,

    简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展。

    源文档 <http://python.jobbole.com/86632/>

    问题17:

    1 python的值传递和引用传递区别

    源文档 <http://www.dataguru.cn/thread-489552-1-1.html>

    2 深入理解python中函数传递参数是值传递还是引用传递

    源文档 <http://www.jb51.net/article/127667.htm>

    Python不允许程序员选择采用传值还是传 引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典 或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能 直接修改原始对象——相当于通过“传值”来传递对象。


    3 python中self的含义
    • self在定义时需要定义,但是在调用时会自动传入。
    • self的名字并不是规定死的,但是最好还是按照约定是用self
    • self总是指调用时的类的实例。

    源文档 <https://www.cnblogs.com/jessonluo/p/4717140.html>

  • 相关阅读:
    NYOJ127 星际之门(一)【定理】
    JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
    如何写一个不可变类
    保护性拷贝
    猴子搬香蕉问题
    阿里云服务器安装redis启动失败问题排查
    oauth2测试
    远程连接云服务器上的mysql失败问题解决
    SQLServer中将yyyy:MM:dd HH:mm:ss.sss转为yyyyMMddHHmmss
    Centos8 安装 MySQL
  • 原文地址:https://www.cnblogs.com/BeautifulSoup/p/8607885.html
Copyright © 2011-2022 走看看