6. Python语言对文件的操作

1. 文件的基础_常用的编码

  1.1 ASCII码(标准化字符集):用于字符和ASCII之间的转换

   常用函数ord(),chr()


  1.2 Unicode

       统一且唯一的二进制编码;

       每个字符两个字节长;

       65536个字符的编码空间。

  1.3 UTF-8 编码—可变长度的Unicode

  1.4 GBK 编码—汉子内码扩展规范

  1.5 编码解码

python中字符串类型是未编码的

   encode() :编码

   decode() :解码

  1.6 文件数据按其组织形式的不同可以分为文本文件和二进制文件

文本文件:是指以ASCII码方式存储的文件。英文、数字等字符存储的是ASCII码

                   多行文本用(\n)表示换行

二进制文件:广义的指由文件在外部设备的存放形式为二进制而得名;狭义的指除文本文件的其他文件,如:照片、音乐、视频、计算机程序等

注:文本文件是基于字符定长的ASCII;二进制文件是变长的,灵活利用率高

2. 文件的基本处理

  2.1 打开文件 open()

   格式:<variable>=open(<name>,<mode>)

   <name> : 磁盘文件名

   <open> : 打开模式

打开模式:


  2.2 读取文件


  2.3 写入文件


2.4 关闭文件 close()

   完成文件操作后需要关闭文件才能操作有效

2.5 遍历文件—最常见的文件处理方法

  常用在:拷贝文件;根据数据文件定义行走路径;将文件由一种编码转换为另一种编码

通用代码框架:

file = open(someFile,"r")
For line in file:
    #处理一行文件内容
file.close()

例:使用遍历框架拷贝文件内容

def main():
    f1=input("输入源文件名:").strip()
    f2=input("输入拷贝文件名::").strip()

    infile=open(f1,"r")
    outfile=open(f2,"w")

    c1=c2=0
    for line in infile:
        c1+=1
        c2+=len(line)
        outfile.write(line)
    print(c1," lines and ",c2," chars copied ")

    infile.close()
    outfile.close()

main()

3. 文件操作实例

使用文件数据绘制

文件里保存如下数据


第一列为长度,第二列为方向,第三列为角度,四五六为颜色

import turtle

def main():
    #窗口信息
    turtle.title('数据驱动的动态路径绘制')
    turtle.setup(800,600,0,0)
    #画笔信息
    pen=turtle.Turtle()
    pen.color("red")
    pen.width(5)
    pen.shape("turtle")
    pen.speed(1)

    result=[]
    file=open("123.txt","r")
    for line in file:
        result.append(list(map(float,line.split(','))))
    print(result)

    for i in range(len(result)):
        pen.color((result[i][3],result[i][4],result[i][5]))
        pen.fd(result[i][0])
        if result[i][1]:
            pen.rt(result[i][2])
        else:
            pen.lt(result[i][2])
    pen.goto(0,0)

main()
结果如下:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝色蛋黄包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值