模块&文件
模块
模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
模块的引入
import 语句
模块定义好后,我们可以使用 import 语句来引入模块,语法如下:
import module1[, module2[,… moduleN]]
from…import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:
from modname import name1[, name2[, … nameN]]
from…import* 语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
from modname import *
模块别名
import modname as new name
from modname import name as new name
if name == ‘main’
这个功能还有一个用处:调试代码的时候,在”if name == ‘main’“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!
#module.py
def main():
print "we are in %s"%__name__
if __name__ == '__main__':
main()
文件
打开文件open()
open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file_name = ‘demo.txt’ ##相对路径
file_name = r’E:\Project\基础\day15\demo.txt’ ##绝对路径
file_obj = open(file_name)
file_name = ‘demo.txt’
读取文件read()
file_obj = open(file_name)
content = file_obj.read()
关闭文件close()
file_obj = open(file_name)
content = file_obj.close()
自动关闭文件
格式: with…as…
例:
try:
with open(file_name) as file_obj:
print(file_obj.read())
except FileNotFoundError:
print(f'{file_name}文件不存在')