Skip to content

模块

导入模块

导入模块可以使用import或者from语句,语法格式可以是下面的任意一种:

import 模块名 或者:from 模块名 import 所需变量或者函数

python
import math    #引入math模块
from random import random   #引入random模块中的random函数

pip工具使用

pip工具针对第三方库操作 pip工具在命令行界面操作

  1. pip3 install #安装第三方库
  2. pip3 list #查寻当前系统中已安装的第三方库
  3. pip3 uninstall #用于卸载已安装的第三方库
  4. pip3 show #用于列出已安装库的详细信息
  5. pip3 download #下载第三方库的安装文件,并不安装

文件的操作

文件读/写模式

读/写模式说明
r以只读模式打开(默认值)该模式打开的文件必须存在,如果不存在,
r+以读/写模式打开。该模式打开的文件必须存在,如果不存在、将报异常
w以写模式打开。文件如果存在,清空内容后重新创建文件
w+以读/写模式打开。文件如果存在,清空内容后重新创建文件
a以追加的方式打开,写人的内容追加到文件尾。该模式打开的文件如果已经存在,不会清空,否则新建一个文件
rb以二进制读模式打开,文件指针将会放在文件的开头
wb以二进制写模式打开
ab以二进制追加模式打开
rb+以二进制读/写模式打开。文件指针将会放在文件的开头
wb+以二进制读/写模式打开。如果该文件已存在,则将其覆盖;如果该文件不存在,则会创建新文件
ab+以二进制读/写模式打开。如果该文件已存在,文件指针将会放在文件的末尾;如果该文件不存在,则会创建新文件用于读/写

打开文件格式

python
a=open("路径和文件名称","文件读写模式")    #打开文件
  
    文件操作方法

a.close()    #关闭文件

读取文件数据

读取方法:

  1. read() #读取文本 未指定字符数时全部读取,指定了后,读取指定数
  2. readlines() #一次性读取所有行,占用内存交大
  3. readline() #逐行读取文本,读取过程文件指针慢慢后移
python
示例:
a=open("test.txt","r",encoding='UTF-8')     #以只读的方式打开文件test.txt
b=a.read(13)     #读取文件13个字符
print(b)
a.close()    #关闭文件

写入文件数据

写入方法:

  1. write() #向文件中写入字符串
  2. wrietlines() #向文件中写入序列
python
示例:
a=open("test.txt","w+")      #写入文件方式打开文件
a.write("向文件中写入的字符\n")
a.close()    #关闭文件

文件定位读/写

  1. tell() #读取文件当前位置
  2. seek() #手动移动指针相对位置

向二进制文件读/写bytes字符串

a=open(r"test.txt","wb")   
#以'wb'方式打开二进制文件
a.write(b"hello python")
a=write(bytse(str(n)))    
#将整数转换为bytes字符串写入文件
a.close()    #关闭文件

pickle模块使用

python
import pickle     #引入模块
a=["read","write","tell","seek"]
b=open(r"test.txt","wb")
b.dump(a,b)    #向b文件中写入a列表,
b.close()

b=open(r"test.txt","rb")
c=b.load(b)     #在读取b文件
print(c)

文件和目录操作

文件的复制,删除及重命名操作

python
#文件复制
import shutil
shutil.copyfile("test.txt",'testb.py')    #将test.txt复制为test.py
#文件删除
import os,os.path
a=os.remove(删除文件的名字)
#文件重命名
import os,os.path,sys
os.rename("test.txt","abcd.py")    #将文件test.txt改名为abcd.py

文件目录操作

python
import os    #导入os模块
os.getcwd()      #查看当前目录
os.listdir()    #查看当前目录中的文件
os.mkdir("abc")    #创建目录abc
os.makedirs("a/b/c")    #创建多级目录
os.removedirs("a/b/c")    #删除多级目录
import shutil    #引入shutil模块
shutil.rmtree("a")    #删除a目录中的所有内容

CSV文件格式读/写数据

python
datas=[['name','dep','eng','math','chinese'],['rose','法学',89,78,65],['rose','法学',89,78,65],['rose','法学',89,78,65]]    #写入内容
import csv      #引入csv模块
a='abc.csv'
with open(a,'w',newline="") as f:     #以写入方式打开abc.csv文件赋值给f,newline=""是为了防止写入空行
    w=csv.writer(f)         #以csv.writer写入f文件,赋值给w 
    for r in datas:         #循环遍历datas文件, 赋值给r,
        w.writerow(r)       #再调用w,用writerow方法写入f
b=""                    
with open(a,'r') as f:      #以读取的方式打开abc.csv文件赋值给f
    re=csv.reader(f)        #以csv.reader读取f文件,赋值给re 
    for r in re:            #循环遍历re文件, 赋值给r,
        for i in r:         #再循环遍历r文件, 赋值给i
            b+=i+'\t'       #向b中写入i中的元素,\t是制表符,作用是对齐表格数据的各列
        b+='\n'             #向b中写入\n,\n表示换行符
        print(re.line_num,r)    #打印re的行号,并打印r列表
    print(b)                #打印处理后的csv文件

结果:

python
1 ['name', 'dep', 'eng', 'math', 'chinese']
2 ['rose', '法学', '89', '78', '65']
3 ['rose', '法学', '89', '78', '65']
4 ['rose', '法学', '89', '78', '65']
name	dep	eng	math	chinese
rose	法学	89	78	65
rose	法学	89	78	65
rose	法学	89	78	65

文件操作的应用

python
a=input("请输入日志文件名:")
b=open(a,'a')
print("请输入日志,exit结束")
s=input("log:")
while s.lower()!="exit":    #如果输入的小写字符不等于exit,则进入循环
    b.write("\n"+s)
    b.write("\n------------\n")
    b.flush()
    s=input("log:")
b.write("\n===========\n")
b.close()
print("请输入选项,n关闭程序,y查看该文件")
s=input("log:")
if s.lower()=="y":
    b=open("abc.txt",'r')
    c=b.readlines()
    print(c)
    b.close()
elif s.lower()=="y":
    print("程序关闭")

异常处理

  1. try...except语句
  2. else语句和finally语句
  3. raise语句抛出异常
  4. assert语句断言
  5. 自定义异常