os模块

os 模块提供了非常丰富的方法用来处理文件和目录,具体介绍如下。

  • os.makedirs(path):按照所给地址生成目录。

    os.path

    os.path模块主要用于处理文件的目录信息,常用方法有如下几个:
  • os.path.join(path, *paths):将多个字符串合成一个目录,中间以目录分隔符隔开。使用这个函数保证在各个系统下目录元素都可以被正确地组合。
  • os.path.curdir:这是path模块的一个属性而非函数,返回当前目录的相对路径(在Mac OSX下就是.)。
  • os.path.abspath(path):将相对路径转化为绝对路径。
  • os.path.exists(path):检查某个目录或文件是否存在。

    关于相对路径

  • python文件中写的相对路径都是相对与当前目录下而言的,如果直接调用命令行:则是相对当前命令行的路径;如果在IDE里执行,通常情况下是相对于当前IDE打开的项目文件夹的路径(因为项目文件夹是命令的执行路径),在其他语言的IDE里情况也类似。
  • 相对路径不一定是相对python文件所在的文件夹,而是相对执行命令的路径。

time模块

Python提供了time 和 calendar 两个模块可以用于处理日期和时间相关信息,首先介绍time模块。

  • time.time():返回当前时间的时间戳(1970纪元后所经过的浮点秒数)。

python导入自建模块

  • 模块(modeule)的实现就是.py文件,想使用其他文件中的函数/类,文件开头声明from 文件名 import 函数/类即可。
  • 在同一个目录下的模块文件可直接导入(当前的目录会被默认导入到系统搜索路径中)。
  • 导入在不同目录下的文件,总共分为三步:
    eg. 在目录a中导入目录b下的crawler.py文件:
  1. 首先目录b下要有__init__.py文件(空文件即可),有这个文件目录b才能被初始化为模块。
  2. 将目录b的父地址添加到模块搜索路径中,import syssys.path.append("parent_dirctory_of_b"),只有这样目录b才能被检测到。
  3. import b.crawler即可(模块间的上下级关系通过.来表示)。
    注1:或者将目录b的地址添加到搜索路径,之后直接import crawler
    注2:添加到搜索路径中的地址,绝对路径or相对路径都可以(推荐相对路径),但注意相对路径不一定是相对python文件的地址,在IDE中通常为相对当前工程文件夹的地址。

import 和 from import的区别

  • import module1语句直接将这个模块导入到当前文件中,如果要使用模块中的函数/类,则需要通过模块来调用:module1.function1/module1.class1
  • from module1 import function1则直接导入特定的函数/类,使用函数时就直接调用function1即可。
  • 何时使用from import:一般用来导入类,因为调用类本身的成员就需要加点.,再加上模块和类之间的点,显得比较冗杂。
    注1: 两种方法都是赋值语句,相当于在新的文件中声明了相应的变量,因此要注意源文件中不能有重名的module1/function1变量名,否则会被覆盖。
    注2:不推荐from module1 import *这种方式,因为很有可能造成变量名冲突(module1模块中和当前文件中)。

其他函数记录

存储/加载数据 pickle

file为文件对象,open("file_address", "wb"/"rb")存储为wb,读取维rb,都按二进制来就行。
pickle.dump(obj, file):存储
pickle.load(file):加载

如何查看变量类型

type(object)函数:

1
2
3
i = 123
print(type(i))
# <type 'int'>


Post Date: 2019-04-01

版权声明: 本文为原创文章,转载请注明出处