Python.第七章(文件与异常)

文件与异常 这章中,遇到的关于出现 UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 4: illegal multibyte sequence 报错问题,程序运行后出现 \ufeff 问题都会有解释和处理办法

# 第七章

# 文件与异常


# 文件与文件类型


# 文件是一组相关数据的集合
# 组成文件的数据可以是ASCII编码,也可以是二进制编码

# 文件一定有一个文件名,文件名的长度和命名规则因不同的操作系统而异。但是无论是何种操作系统
# 文件名都包含两部分:主文件名和扩展名,两者之间用“.”隔开

#  全文件名 由用户根据操作系统的命名规则自行命名,用来与其他文件加以区别
#  扩展名 根据文件类型对应专属的缩写,用来指定打开和操作该文件的应用程序

#  例如,编写并保存的Python 语言源程序文件对应的扩展名就是.py
#  表示该文件需要用 Python 语言编辑器打开和处理

# 一般来说,文件都是按文件名访问的,一方面通过主文件名指明访问对象
# 另一方面通过扩展名指定访问和处理文件的应用程序


# 目录与文件路径

# 文件是用来组织和管理一组相关数据的,而目录是用来组织和管理一组相关文件的

# 目录又可称为文件夹,可以包含文件,也可以包含其他目录

# 文件保存的位置称为路径。

# 1.绝对路径
# 绝对路径是指从文件所在驱动器名称(又称“盘符“始描述文件的保存位置)

# 文件“5-1py”的对路径是“F盘根目下documents 目录下 python 目录下5-1.py文件”

# 具体可表示为:
# F:\documents\python\5-1.py

# 其中,反斜杠“\”是盘符、目录和文件之间在 Windows 换系统下的分隔符
# 如果要在Python 程序中描述一个文件的径,需要使用字符串
# 因为在字符串中,反斜杠“ ”是转义序列符,所以为了还原反斜杠分隔符的含义
# 在字符串中要连续写两个反斜杠如

# “F:\\documents\\python\\5-1.py”。
# 为了书写简便,Python 语言提供了另一种路径字符串的表示方法:

# r "F:\documents\python\5-1.py"

# 其中,r表示取消后续字符串中反斜杠“”的转义特性
# 在后续的代码中这两种路径字符写法会交替使用,请读者注意



# 2.相对路径


# 相对路径是指从当前工作目录开始描述文件的保存位置

# 每个运行的程序都有一个当前工作目录,又称为 cwd
# 一般来说,当前工作目录默认为应用程序的安装目录,可以通过Python语言自带的 os库函数 重新设置

# 下面的代码尝试将 cwd 从系统默认的设置修 documents 目录

import os
os.getcwd()   #查看当前工作目录
print(os.getcwd())
# E:\Python\pythonProject

os.chdir('E:\\Python\\Ptest')  #修改当前工作目录为 E盘根目录下 \Python\Ptest
print(os.getcwd())
# E:\Python\Ptest


# 一个特殊的标记“..”,它表示当前目录的上一级目录



# 文件操作


# 一般来说,文件的操作分以下三个步
# (1) 打开文件
# (2) 读文件或者写文件
# (3) 关闭文件


# 文件的打开与关闭


# 1.文件的打开

# 大多数文件都是长期保存在外部存储器的,需要操作时必须先调入内存,才能由 CPU进行处理
# 而“打开”操作就是将文件从外部存储器调入内存的过程,这个过程需要使用
# Python 语言内置的 open 命令,并生成一个 File 对象
# 具体的语法格式如下:

# file对象名 = open(文件路径字符串,模式字符)

# 其中,文件路径字符串可以采用绝对路径,也可以采用相对路径
# 打开文件的模式字符用于指定打开文件的类型和操作文件的方式
# 打开文件的模式字符: 'r','r+','w','w+','a','a+','rb','rb+','wb','wb+','ab','ab+'


# 2.文件的关闭

# 执行 open 命令打开文件后,这个文件就被 Python 程序占用并被调入内存。其后所有的读写操作都发生在内存
# 与此同时,其他任何应用程序都不能操作该文件

# 当读写操作结束后,必须将文件从内存保存回外存
# 这样做一方面为了将内存中文的变化同步至外存,以便长期保存;
# 另一方面是为了释放 Python 程序对文件的占用,让其他应用程序能够操作文件

# 这个将文件保存回外存的操作是由文件对象的close()方法实现的
# 具体的语法格式如下

# file 对象.close()

# 下面根据图7-1对应的目录结构尝试一些文件的打开操作。
# 下列代码中首先将当前工作目录设置为“python”;然后尝试用读模式打开当前目录下名
# 为“mydata.txt”的文本文件,如图 7-3 所示,该文件不存在,因此系统报错;再次尝试用写
# 模式扩开这个不存在的文件时,命令顺利执行,如图7-4 所示,系统会在“python”目录下新
# 建一个大小为“0字节”名称为“mydata.txt”的文件,并将其与文件对象 file进行关联


import os
print(os.getcwd())
# E:\Python\Ptest

'''filePractice = open('mydate.txt','r')'''

# 因为当前 E:\Python\Ptest 下没有mydate.txt这个文本文件,用 只读模式打开 会报错

# Traceback (most recent call last):
#   F
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值