1. 和时间有关的函数和用法

  1. 导入 time 模块

    import time

  2. 设置时间格式

    TIMEFORMAT = "%Y-%m-%d %H:%M:%S"

  3. time.time() 用于取当前时间,为一个小数,代表从 epoch: 1970 年 1 月 1 日 00:00:00 开始到当前的秒数。

    >>> time.time()

    1180759620.859

  4. time.localtime() 用于返回我们熟悉的用 tuple 存储的时间

    >>> time.localtime()

    (2007, 6, 2, 12, 47, 7, 5, 153, 0)

  5. time.strftime() 用于按照我们之前所定义的时间格式来返回时间

    >>> time.strftime( TIMEFORMAT, time.localtime() )

     ‘2007-06-02 12:54:31′

  6. 表示时间的tuple数组结构

索引(Index) 属性(Attribute) 值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 61
6 tm_wday(weekday) 0 - 6(0表示周日)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为-1

  7. time.mktime(time.localtime())

    使用mktime函数,传入tuple数组,可以返回对应的时间戳。

2. Python 读写文件

  1. 读文件

    input = open('data', 'r')

    record = input.readline()

    input.close()

    使用 input.read() 可以将文件内容读作一个大字符串进行返回

  2. 写文件,'w' 参数代表将原有文件清空后再写入,'a' 参数表示向文件追加

    output = open('data', 'w')

    output.write("test")

    output.close()

3. Python 续行符 '\'

  1. 第一种是直接用回车,但是不是很安全。

  2. 第二种是在当前行的尾部加上 '\' 符,在下一行继续输入,此时后续的行可以以任何方式缩进,不用遵守python的严格缩进规则。一般在小括号、中括号、大括号里定义的内容不需要用'\'分割,直接回车即可。  

4. 使用 Python 命令执行文件时的参数传递

  python 命令后的内容共同组成参数列表实现参数传递,可以通过 sys 模块的 argv 变量访问到。

  例如: python kfk_setter.py video-meta video2feeds -1

      print sys.argv

  结果:['kfk_setter.py', 'video-meta', 'video2feeds', '-1'] 参数是以字符串的形式传递

5. 字符串连接的三种方式

  1. 直接通过加号(+)操作符连接 例如:website = 'python' + 'tab' + '.com'

    由于python中字符串属于不可变的对象,因此每次执行一个+操作就会生成一个新的字符串,因此连续相加的字符串很多时效率较低。

  2. join 方法

    listStr = ['python', 'tab', '.com']
    website = ''.join(listStr)

    对多个字符进行连接时效率高,只会有一次内存的申请。而且如果是对list的字符进行连接的时候,这种方法必须是首选。

  3. 字符串格式化

    website = '%s%s%s' % ('python', 'tab', '.com')

    这种方式非常常用

6. Python中的eval()、exec()及其相关函数

  1. eval() 与 exec() 函数的形式和功能类似,都是通过传递全局变量和局部变量参数来实现字符串或者code对象的执行。区别在于,eval() 是用来计算指定表达式的值,也就是说它执行的python语句只能是单个表达式(不支持任意形式的赋值运算),而不是是复杂的逻辑,eval() 函数有返回值;exec() 函数可以动态运行代码段,exec() 函数的返回值永远为 None。

  2. eval() 函数

    1. 函数形式 eval(expression, globals = None, locals = None)

      其中:expression 为表达式参数,可以为字符串,也可以是由 compile() 函数创建的 code 对象实例。如果它是一个字符串,它会被当作一个(使用globals和locals参数作为全局和本地命名空间的)Python表达式进行分析和解释。

         globals 为可选参数,表示全局变量空间(存放全局变量),必须是一个字典对象。

         locals 表示局部变量空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

         上述两个参数可以自己赋予新的变量名和值,也可以用当前已经定义变量进行映射,对后者的更改会产生实际效果(在 exec() 函数中才能进行更改)

         如果 globals 和 locals 参数都被忽略,那么它们将取 eval() 函数被调用环境下的全局变量空间和局部变量空间。

     返回值:如果 expression 是一个 code 对象,且创建该 code 对象时,compile() 函数的 mode 参数为 'exec',那么返回值为 None;否则如果 expression 语句是一个输出语句,如 print,那么返回为 None;其他情况下 expression 表达式的结果就是 eval() 函数的返回值。

    2. 用法示例

      self.filter_exp = data.get('ucp_trespassing_field', {}).get('surface_type', '') != 'ARTICLE_SURFACE'

      eval('#coding=%s\n%s' % ('utf8', self.filter_exp), {}, local_vars) 在 expression 表达式中声明了编码类型和具体表达式的内容通过 self.filter_exp 变量(逻辑表达式)进行传递,local_vars 为字典定义的局部空间

  3. exec() 函数

    1. exec(object [, globals [, locals ]])

      参数说明:obeject 为需要执行的 Python 代码,可以是字符串或者code对象;后面参数同上

      返回值:exec() 函数的返回值始终为 None

    2. 用法示例

mapped_data = {}
mapped_data['url'] = 'http://baijiahao.baidu.com/u?app_id=%s' % data['id']
mapped_data['status'] = 'publish' if data['status'] == 'pass' else 'unpublish'

mapped_data_dict['data'] = mapped_data
mapping_code_conf

相关文章:

  • 2021-09-05
  • 2021-10-06
  • 2022-02-11
  • 2022-01-09
  • 2021-10-28
  • 2021-12-10
  • 2022-01-11
  • 2021-12-08
猜你喜欢
  • 2021-12-21
  • 2022-01-27
  • 2021-09-16
  • 2021-09-26
  • 2022-12-23
相关资源
相似解决方案