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
文件:
- 首先目录b下要有
__init__.py
文件(空文件即可),有这个文件目录b才能被初始化为模块。 - 将目录b的父地址添加到模块搜索路径中,
import sys
,sys.path.append("parent_dirctory_of_b")
,只有这样目录b才能被检测到。 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
3i = 123
print(type(i))
# <type 'int'>
Post Date: 2019-04-01
版权声明: 本文为原创文章,转载请注明出处