python中的模块就是一个个的python文件
模块:.py文件
程序构成:
1. 顶层文件
2. 各个模块
模块:module
导入的形式:
声明:当前文件中使用的属性或者模块,都来自于import指定的路径
小结:
如果导入多个模块:
1. 写多个import语句即可
2. 写一个import,用逗号隔开多个路径(完整路径)
3. 如果要起别名,需要分别起别名
3. from 完整的模块名 import 属性
1. 可以导入属性界别的数据
2. 注意模块中的其他属性,不要和被导入的属性名冲突
4. from 完整的模块名 import 属性 as 别名
1. 可以避免属性名冲突的问题
小结:
如果导入多个模块:
1. 写多个from…import…
如果导入多个属性
1. 在import后面直接用逗号隔开
2. 如果要起别名,要分开起别名
补充
- 模块中尽量不要直接书写逻辑代码
逻辑代码:while,for,if,输入输出等
逻辑代码会在模块被加载的时候自动执行,会影响用户的使用- 模块中应该只包含:
- 类
- 函数
- 变量
- 测试(if name=‘main’)
计算机:硬件+软件
CPU:处理器,计算
主板:承载其他硬件
IO设备:显示屏、鼠标、键盘、麦克风、音响
内存:读写速度快。缺点:贵!一旦断电,数据清空
所有的程序都是运行在内存中的
硬盘:运行速度慢。大、便宜、可以持久化数据
机械硬盘:4500R 7200R 10000R 绿盘 蓝盘 紫盘 黑盘 金盘
1T
固态硬盘:速度快,体积小,贵
128G 256G 512G
PY dll xml md MP4 avi rmvb wmv mkv jep jepg gif png html cpp
r:以只读的方式打开文件
rb:以二进制形式只读的打开文件
w:以只写的方式打开文件,如果该文件已经存在则覆盖旧文件
wb:同上二进制
a+:追加,以只写的方式打开文件,如果文件已经存在,则在旧文件上追加写,如果不存在则创建新文件
ab+:同上二进制
# @Time : 2021/8/31 14:53
# @Author : XX
# @File : 文件.py
# @Software: PyCharm
# o = open(r'E:\太原理工2018\代码\baizhi\tyut2018\day14\info.txt',
# encoding='utf-8')
o = open(r'E:\太原理工2018\代码\baizhi\tyut2018\day14\info.txt',
mode='w',
)
# o.write('')
# o = open(r'E:\太原理工2018\代码\baizhi\tyut2018\day14\info2.txt',
# mode='a+'
# ,encoding='utf-8')
# o.write('是的!')
# 使用完毕后,记得释放资源
o.close()
1. close()
关闭流,释放资源
2. closed
返回流的关闭状态。关闭:True,没关闭:False
3. mode
返回当前流的打开方式
4. name
返回文件的绝对路径
5. read(size)
按照字符数读取,如果不设置size默认全部读出
6. readline()
按照字符读取一行
7. readlines()
将所有内容,按行读取,以列表形式进行返回
8. write(str)
向流中写入一个字符串
9. writelines(iterable)
通过一个序列向流中写入多个字符串
with open(r'E:\太原理工2018\代码\baizhi\tyut2018\day14\info.txt',
mode='r',
encoding='utf-8'
) as r:
print(r.read())
print(r.closed)
print(r.closed)
可以帮助自动关闭流资源,不需要手动关闭
语法:
with open(文件路径,模式) as 变量:
# 核心代码
补充模块
os模块
操作系统模块
文件的相关操作,都和操作系统有关
让python可以和操作系统间接地进行沟通
import os
path = r'E:\太原理工2018\代码\baizhi\tyut2018\day14\OS模块\案例'
print(os.listdir(path))
# 创建一层目录
# os.mkdir(path+r'\a')
# 删除一个目录,修改pycharm的权限
# os.remove(path+r'\a')
# 递归的删除多层目录
# os.removedirs(path)
# 创建多级目录
# os.makedirs(path+r'\a\b\c\d\e')