自学整理记录,大神见笑
发布模块
- 希望将自己开发的模块分享给他人
步骤
- 创建setup.py
from distutils.core import setup
setup(name="hm_message", # 包名
version="1.0", # 版本
description="itheima 发送和接收消息模块", # 描述信息
long_description="完整的发送和接收消息模块", # 完整描述信息
author="itheima", # 作者
author_email="itheima@itheima.com", # 作者邮箱
url="www.itheima.com", # 主页
py_modules=["hm_message.send_message","hm_message.receive_message"])
- 构建模块
$ python3 setup.py build
- 生成发布压缩包
$ python3 setup.py sdist
安装模块
$ tar -zxvf hm_message-1.0.tar.gz
$ sudo python3 setup.py install
- 卸载模块
直接从安装目录下,把安装模块的目录删除即可
pip安装第三方模块
- pip是一个现代的,通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载等功能
- 在cmd中操作
- windows命令如下:
# 将模块安装到Python 2.x 环境
$ sudo pip install pygame
$ sudo pip uninstall pygame
# 将模块安装到Python 3.x 环境
$ sudo pip3 install pygame
$ sudo pip3 uninstall pygame
- 在Mac下安装iPython
$ sudo pip install ipython
- 在Linux下安装iPython
$ sudo apt install ipython
$ sudo apt uninstall ipython3
文件的概念
文件的概念和作用
- 计算机的文件,就是存储在某种长期存储设备上的一段数据,设备包括硬盘,U盘,移动硬盘等
- 文件的作用:将数据长期保存,需要的时候使用
文件的存储方式
- 计算机中,文件都是已二进制保存在磁盘上
- 文本文件:可以用文本编辑软件查看,本质上还是二进制文件
- 二进制文件:保存的不能用文本编辑软件查看,比如说一些音视频文件
文件的基本操作
- Python中操作文件固定三个步骤;
1.打开文件
2.读、写文件
3.关闭文件 - 操作文件的函数和方法
序号 | 函数/方法 | 说明 |
---|---|---|
01 | open函数 | 打开文件,并返回文件操作对象 |
02 | read方法 | 将文件内容读取到内存 |
03 | write方法 | 将指定内容写入文件 |
04 | close方法 | 关闭文件 |
- open函数负责打开文件,返回文件对象;如果文件不存在,会抛出异常
- read/write/close三个方法都需要通过文件对象调用
- read会一次性读取文件所有内容
- close一定要关闭,否则资源浪费,后续操作也会有影响
- 文件指针,当read读取了一次后,文件指针会默认在文件末尾,再read是读不到文件内容的
打开文件方式
- open默认以只读方式打开
- 语法如下:
file = open("文件名", "访问方式")
访问方式 | 说明 |
---|---|
r | 只读方式打开,文件不存在抛出异常 |
w | 只写方式打开,文件不存在会自动创建新文件 |
a | 以追加方式打开,即打开后文件指针默认在内容末尾,文件不存在抛出异常 |
r+ | 以读写方式打开,文件不存在抛出异常 |
w+ | 以读写方式打开,文件不存在会自动创建新文件 |
a+ | 以读写方式打开,文件不存在会自动创建新文件 |
- 频繁移动文件指针会影响文件的读写效率,开发中更多以只读只写方式打开
按行读取文件内容
- readline方法,一行一行读取,方法执行后文件指针会移动到下一行
- 事例代码:
# 打开文件
file = open("README")
while True:
# 读取一行内容
text = file.readline()
# 判断是否读到内容
if not text:
break
# 每读取一行的末尾已经有了一个'\n'
print(text, end="")
# 关闭文件
file.close()
文件复制
- 小文件复制,用read一次性复制即可
- 大文件复制,用readline一行一行的复制即可
文件/目录的常用管理和操作
- 即对文件或目录进行创建,删除,移动,重命名等
- 对文件/目录操作需要导入os模块
- 文件操作
序号 | 方法名 | 说明 | 示例 |
---|---|---|---|
01 | rename | 重命名 | os.rename(源文件名,新文件名) |
02 | remove | 删除 | os.remove(文件名) |
- 目录操作
序号 | 方法名 | 说明 | 示例 |
---|---|---|---|
01 | listdir | 目录列表 | os.listdir(目录名) |
02 | mkdir | 创建目录 | os.mkdir(目录名) |
03 | rmdir | 删除目录 | os.rmdir(目录名) |
04 | getcwd | 获取当前目录 | os.getcwd() |
05 | chdir | 修改工作目录 | os.chdir(目标目录) |
06 | path.isdir | 判断是否是文件 | os.path.isdir(文件路径) |
文本文件的编码格式
- Python2.x默认ASCII编码,一个ASCII在内存占用一个字节,用8个0/1排列组合表示256个字符
- Python3.x默认UTF-8编码,用1~6个字节表示一个UTF-8,涵盖了地球上几回所有地区 的文字;汉字大多使用3个字节;UTF-8是UNICODE编码的一种编码格式
Python2.x使用中文解决方案
1.在顶部输入
# *-* coding:utf8 *-*
2.在字符串前面加上一个字母u,表示urf-8编码
eval函数
- eval()函数,将字符串当成有效表达式进行求值,并返回计算结果
- 不能滥用,因为开始时eval会直接转换input的结果,使得普通用户随意操纵程序,十分不安全