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>

  • 相关阅读:
    hdu 1269 迷宫城堡 (并查集)
    hdu 1272 小希的迷宫 (深搜)
    hdu 1026 Ignatius and the Princess I (深搜)
    hdu 1099 Lottery
    hdu 1068 Girls and Boys (二分匹配)
    几个基础数位DP(hdu 2089,hdu 3555,uestc 1307 windy 数)
    hdu 1072 Nightmare (广搜)
    hdu 1398 Square Coins (母函数)
    hdu 1253 胜利大逃亡 (深搜)
    hdu 1115 Lifting the Stone (求重心)
  • 原文地址:https://www.cnblogs.com/BeautifulSoup/p/8607885.html
Copyright © 2011-2022 走看看