Python入门指南(学习笔记)
文章目录
前言
本文档主要对一下几方面进行了整理:
- 对比形式给出了Python中数据类型的释义、定义以及引用方式的举例
- 通过Python脚本import OS模块,来实现对文件/文件夹的常规操作
- 通过Python脚本import OS模块,来实现对文件路径的常规操作
- 通过Python脚本import OS模块,来实现对文件存在性的检查操作
- 通过Python脚本import pandas模块,来实现对excel文件的常规处理
- 通过Pyinstaller实现对Python文件的打包,转化为exe可执行文件
1. python数据类型说明
1.1. 数据类型分类
类型 | 原型 | 释义 |
---|---|---|
字符串 | str"" | '…‘和"…"定义的都是字符串;r’…'和r"…"定义的为原始字符串,其中反斜线“\”是普通字符串,不具有转义功能 |
列表 | list[] | 是一种有序的数据集合,可随意更改数据内容 |
元组 | tuple() | 是一种有序的数据集合,不可随意更改数据内容 |
字典 | dict{} | 是一种无序储存的内置数据(无序、可变序列),存在键(键可为:字符串、元组、数字;但不可为:列表) |
集合 | set{} | 是一种无序不重复元素值 |
1.2. 数据类型的常规定义
类别 | 字符串 | 列表 | 元组 | 字典 | 集合 |
---|---|---|---|---|---|
带初值定义 | str=‘great girl’ 常规字符串 或str=“great \girl” 原始字符串 | list=[1,‘a’,“python”] | tuple=(1,‘a’,“python”) | dict ={‘数学’:‘great’,(20,30):[1,2,3]} | set={1,‘a’,(1,2,3)} |
不定长度定义 | str’'或str"" | list=[] | tuple=() | dict={} | set={} |
元素取值 类型说明 | 字符串/字符 元组,字典 | 字符串/字符 元组,字典 | 字符串/字符 元组,数字 | 字符串/字符 元组,数字 | |
元素访问 | 列表名[n] | 元组名[n] | 字典名[‘键名’][值中元素标号] | ||
元素新增 | 列表名.append(‘5’) 在列表末尾添加元素 列表名.insert(n,‘test’) 在任意下标位置插入元 素,其后元素标号+1 | 字典名[‘键名’]=值 | |||
元素删除 | del 列表名[n] 删除指定位置的元素,其后元素标号-1 | del 字典名[‘键名’] |
1.3. 特定位置元素的获取
备注:现有列表(list_data = [‘1234567’,‘abcdefg’,‘fffaacc’,‘13692’])
示例 | 结果 | 说明 |
---|---|---|
list_data[-2] | fffaacc | 获取列表中倒数第二个元素 |
list_data[0:3] | [‘1234567’, ‘abcdefg’, ‘fffaacc’] | 获取列表中第0到2的全部元素 |
list_data[1] | abcdefg | 获取列表中的第一个元素 |
list_data[1][1:4] | bcd | 获取列表中第一个元素里的下标为:1~4(不包含上限标号4)的字符 |
list_data[1][1: ] | bcdefg | 获取列表中第一个元素里的下标为:1~末尾的字符 |
list_data[1][ :4] | abcd | 获取列表中第一个元素里的下标为:开始~4(不包含上限标号4)的字符 |
list_data[1][-3:] | efg | 获取列表中第一个元素里的下标为:倒数第三个下标~末尾间的全部字符 |
list_data[1][:-3] | abcd | 获取列表中第一个元素里的下标为:开始~倒数第三个下标间的全部字符 |
list_data[1][-3] | e | 获取列表中第一个元素里倒数第三个字符 |
list_data[1][3] | d | 获取列表中第一个元素里正数第三个字符 |
1.4. 字典的遍历
1.4.1. 遍历键和值
dict ={'数学':'great','语文':'abcdefg'}
for key,value in dict.items():
print(key+':'+str(value))
结果:
数学:great
语文:abcdefg
1.4.2. 遍历键
dict ={'数学':'great','语文':'abcdefg'}
for key in dict.keys():
print(key)
结果:
数学
语文
2. 文件/文件夹的新增、复制、移动、删除、重命名
2.1. 模块需求:需导入shutil和os模块
import shutil,os
2.2. 新增
2.2.1. 创建文件
os.mknod("test.txt")
备注:创建空文件
open("test.txt",w)
备注;直接打开一个文件,如果文件不存在则创建文件
2.2.2. 创建目录
os.mkdir("file")
备注:创建目录
2.2.3. 创建多层新目录
def mkdirs(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 创建目录操作函数
os.makedirs(path)
# 如果不存在则创建目录
print path + u' 创建成功'
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print path + u' 目录已存在'
return False
2.3. 复制
2.3.1. 复制单个文件
1. 格式一:shutil.copyfile("oldfile","newfile")
备注:oldfile和newfile都只能是文件
2. 格式二:shutil.copy("oldfile","newfile")
示例:shutil.copy("C:\\a\\1.txt","C:\\b")
备注:oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
2.3.2. 复制并重命名新文件
shutil.copy("C:\\a\\2.txt","C:\\b\\121.txt")
2.3.3. 复制整个目录(备份)/文件夹
shutil.copytree("olddir","newdir")
示例:shutil.copytree("C:\\a","C:\\b\\new_a")
备注:olddir和newdir都只能是目录,且newdir必须不存在
2.4. 移动
2.4.1. 移动文件
shutil.move("C:\\a\\1.txt","C:\\b")
2.4.2. 移动文件夹
shutil.move("C:\\a\\c","C:\\b")
2.5. 删除
2.5.1. 删除文件/文件夹
方式一:os.remove("file")
方式二:os.unlink("C:\\b\\1.txt")
2.5.2. 删除文件夹及内容
1. 只能删除空目录
格式:os.rmdir("C:\\b\\new_a")
示例代码:
try:
os.rmdir("C:\\b\\new_a")
except Exception as ex:
print("错误信息:"+str(ex))#提示:错误信息,目录不是空的
2. 空目录、有内容的目录都可以删
格式:shutil.rmtree("C:\\b\\new_a")
2.6. 重命名
2.6.1. 重命令文件/文件夹
os.rename("oldname","newname")
2.6.2. 重命名文件
shutil.move("C:\\a\\2.txt","C:\\a\\new2.txt")
2.6.3. 重命名文件夹
shutil.move("C:\\a\\d","C:\\a\\new_d)
3. 查询指定路径下包含指定(.后缀)的文件
遍历指定路径(src_path)目录下所有的txt文件,包括子文件夹中的所有txt文件
示例路径:SrcDocPath = E:\Workspace\Python\DocCopyScript\sal\sa2.txt
代码示例:for SerialNum, SrcDocPath in enumerate(Path(src_path).rglob('*.txt')):
备注:
SerialNum--字典键:从0开始的序号
SrcDocPath----字典值:存在txt文件为绝对路径地址
3.1. 取文件名
3.1.1. 取出包含后缀的文件名:sa2.txt
print('取出包含后缀的文件名:',os.path.basename(SrcDocPath))
3.1.2. 取出不包含后缀的文件名+文件类型:(‘sa2’, ‘.txt’)
print('取出不包含后缀的文件名+文件类型:',os.path.splitext(os.path.basename(SrcDocPath)))
3.1.3. 取出不包含后缀的文件名:sa2
print('取出不包含后缀的文件名:',os.path.splitext(os.path.basename(SrcDocPath))[0])
3.1.4. 取出文件后缀:.txt
print('取出文件后缀:',os.path.splitext(os.path.basename(SrcDocPath))[1])
3.2. 取路径
3.2.1. 取出指定文件路径:
示例:E:\Workspace\Python\DocCopyScript\sal
print('取出指定文件路径:',os.path.dirname(SrcDocPath))
3.2.2. 取出自身文件路径:
示例:E:\Workspace\Python\DocCopyScript\sa2.txt
DocName = os.path.basename(SrcDocPath)
print('取出文件自身路径:',os.path.abspath(DocName))
3.2.3. 取出自身文件路径的父文件夹路径:
示例:E:\Workspace\Python\DocCopyScript
DocName = os.path.basename(SrcDocPath)
print('取出自身文件路径的父文件路径:',os.path.dirname(os.path.abspath(DocName)))
3.3. 检查路径是否存在
if not os.path.exists(Path):
3.4. 路径更换
# 更换路径
os.chdir("path")
4. 目标类型判断
备注:若路径中含中文,在windows环境(编码为GBK)下,要将目录编码成GBK,如:dir.encode(‘GBK’)
4.1. 判断目标是否存在
os.path.exists("goal")
4.2. 判断目标是否为目录
os.path.isdir("goal")
4.3. 判断目标是否为文件
os.path.isfile("goal")
5. Python excel文件读写操作
5.1. 使用模块pandas
import pandas
5.1.1. excel文件读取函数说明
pandas.read_excel()详细函数入参说明
示例:
# 读取excel文件
excel_data = pandas.read_excel(file_dir_name, sheet_name = 0,nrows=None,header=None, keep_default_na=False)
# 函数入参说明:
# file_dir_name:指定excel文件名,或文件存放路径+文件名
# sheet_name :指定工作表名;默认为0,即读取第一个sheet
# nrows:指定仅读取前n行,默认为None,解析所有非空行
# header:指定标题行;默认header=0,第一行为标题行,不做读取操作;
# header=None,第一行为非标题行,从第一行开始读取
# keep_default_na:指定导入数据时是否导入空值,默认keep_default_na=False,不导入空值
5.1.2. 获取表格相关参数
1. 使用size获取到的是excel表格的整体数据大小
案例:excel大小为[11 rows x 5 columns]
print('单元格尺寸:',excel_data.size)
结果:55(行数量11乘以列数量5)
2. 获取到的是二维数据行数量与列数量组成的一个元组
print('单元格行列数:',excel_data.shape)
结果:(11, 5)
3.获得行数量
print('单元格尺寸:',len(excel_data))
结果:11
6. 字符清除(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格)
格式:操作对象.strip()
strip: 用来去除头尾字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、’ ',即:换行、回车、制表符、空格)
7. Python打包exe可执行文件
7.1. 为什么要将Python程序打包为exe可执行文件?
众所周知,Python程序的运行必须要有Python的环境,但是程序编出来是用的,如果是给别人用,而他/她的电脑上又没有Python程序运行的环境怎么办呢?总不能让他/她去安装一个吧?这时我们就要将Python程序打包为exe可执行文件,这样,在Windows平台下,就可以直接运行该程序,不论有没有Python环境。exe执行时仅需要执行的.exe文件
7.2. exe打包步骤
步骤一:安装Pyinstaller
pip install Pyinstaller
步骤二:打包exe
格式:Pyinstaller -F -c 文件名.py
示例:Pyinstaller -F -c markdown_index.py
参数说明:-F 对单个文件执行打包操作
-c 打包后显示日志窗口(打包后Print函数不能打印,多半是因为该参数未配置)
人用,而他/她的电脑上又没有Python程序运行的环境怎么办呢?总不能让他/她去安装一个吧?这时我们就要将Python程序打包为exe可执行文件,这样,在Windows平台下,就可以直接运行该程序,不论有没有Python环境。exe执行时仅需要执行的.exe文件
7.2. exe打包步骤
步骤一:安装Pyinstaller
pip install Pyinstaller
步骤二:打包exe
格式:Pyinstaller -F -c 文件名.py
示例:Pyinstaller -F -c markdown_index.py
参数说明:-F 对单个文件执行打包操作
-c 打包后显示日志窗口(打包后Print函数不能打印,多半是因为该参数未配置)