文件的使用可以大大简化代码并保证输入的正确性。而将文件用于输出时,其最大的优势在于可以将程序结构长期保存
文件是数据的抽象和集合
文件是存储在辅助存储器上的数据序列
文件是数据存储的一种形式
文件的展现形态:文本文件和二进制文件
组成文件的数据可以是ASCII编码,也可以是二进制编码
本质上所有文件都是二进制形式存储
形式上所有文件采用两种方式展示
文件一定有一个文件名,文件名的长度和命名规则因不同的操作系统而异
文件名 = 主文件名.扩展名
主文件名:由用户根据OS的命名规则自行命名,并且要与其他文件加以区别
扩展名:根据文件类型对应专属的缩写,指定打开、操作该文件的应用程序
注:文件都是按文件名访问的
一方面通过主文件名指明访问对象
另一方面通过扩展名指定访问和处理文件的应用程序
文本文件:是纯文本,指只包含基本文本字符,由单一特定编码组成的文件
由于存在编码,文本文件也被看成是存储着的长字符串
最常见的文本文件是.txt文件
.py文件也是文本文件
二进制文件:除了文本文件之外的文件,直接由比特0和1组成,没有统一字符编码
一般存在由二进制0和1进行特定的组织结构,产生文件
不同的二进制文件需要借助不同的库进行不同的处理
文件保存的位置称为路径
指从文件所在驱动器(盘符)开始描述文件的保存位置。
其中反斜杠\是盘符、目录、文件之间在WindowsOS下的分隔符。②在Python程序中描述一个文件的路径方式
以下是在Windows平台表示形式
但是在字符串中,\是转义序列符,所有为了还原反斜杠分隔符的含义,使用两个\
使用r取消后续字符串中反斜杠的转义特性
是指从当前工作目录开始扫描文件的保存位置
每个运行的程序都有一个当前工作目录,又称cwd。
一般来说当前工作目录默认为应用程序的安装目录
通过Python语言自带的os库函数重新设置cwd
相对路径中的盘符直到当前工作目录部分都缺省了,系统默认从当前工作目录开始根据路径描述定位文件
“…”表示当前目录的上一级目录
通过绝对路径或相对路径找到文件,然后就是对文件进行操作,
文件操作的步骤:打开文件、读或写文件、关闭文件
大多数文件都是长期保存在外部存储器的,需要操作时必须从外存调入内存,才能由CPU进行处理。
而打开操作就是将文件从外部存储器调入内存的过程,这个过程需要使用Python内置的open命令,并生成一个File对象
注:Python程序中,文件一旦打开都会和一个文件对象相关联,随后的文件操作都通过调用file对象的方法实现
文件对象名 = open(文件路径字符串,模式字符)
文件路径字符串可以采用:绝对路径、或相对路径
打开文件模式:指定打开文件类型和操作文件的方式
否,从EOF处开始追加写 |
否,从EOF处开始追加写 |
否,从EOF处开始追加写 |
否,从EOF处开始追加写 |
关键字with的功能是在不再需要访问文件后自动将文件关闭。
而open命令打开文件一定要通过调用close()方法进行关闭。
函数open()中的参数'test.txt'就是要打开的文件。函数open()返回的是打开文件的对象,第一行代码就是把文本文件 test.txt
打开,并将其对象保存在file_object变量中。
执行open命令打开文件之后,这个文件就被Python程序占用并调入内存,其后所有的读写操作都发生在内存,于此同时,其他任何程序都不能操作该文件
当读写操作结束后,必须将文件从内存保存到外存,这样做一方面将内存中文件的变化同步至外存,以便长期保存
也是为了释放Python程序对文件的占用,让其他应用程序能够操作文件
注:不允许对关闭的文件执行任何读写操作
读出文件所有内容并作为一个字符串返回
学号,平时成绩,期末成绩 学号,平时成绩,期末成绩将读出文件中当前行,并以字符串的形式返回
每调用一次该函数,读取文件的一行内容
如果文件包含多行内容,配合for循环使用
以列表的形式返回整个文件的内容,其中一行对应一个列表元素
readlines()方法更简洁的方式按行读出整个文件内容,后续只要通过简单的列表遍历就可以取出任意行进行处理
将文本文件中的数据进行逐行读取
输出结果中每一行内容后面都多了一个空行,这时因为在文件中每一行的末尾都会有一个换行符, 而每条print()语句也会加上一个换行符,所以每行末尾都有两个换行符,所以输出之后就会多一个空行。
write()方法将指定的字符串写入文件当前插入点位置
文件对象.wirte(写入字符串)
注:每次调用write()方法系统都会返回这次写入文件的字符数
writelines()方法可以以序列的形式接受多个字符串作为参数,一次性写入多个字符串
参数可以是:列表、集合、元组、字典,但元素一定要是字符串
需要移动指针,从最开始的位置向后遍历,才能输出文本内容
异常:错误信息影响程序的正常执行
不同的异常被定义为不同的对象,对应不同的错误
异常会立即终止程序的执行,无法实现原定功能。
如果在异常发生时,能及时捕获并作出处理,就能控制异常,纠正错误,保证程序顺利执行
Python语言提供了try子句来进行异常的捕获与处理
程序执行时,如果try子句中发生了指定的异常,则执行except子句部分进行异常的处理,如果try子句执行没有发生异常则执行else子句部分
try-except代码块的作用就是当try代码块中的程序代码运行没有错误,则跳过except代码块;反之如果try代码块中的程序代码运行出现错误,则运行except代码块中的内容,一般except代码块中的内容都是输出错误信息。
如果except代码块后面还有其他代码,程序将继续运行,因为 Python 已经在程序报错后执行了except代码块中的内容,告诉了错误信息,所以可以继续运行程序。
通过raise显式抛出异常信息
Python 的raise显式抛出自己的包含特定信息的异常。一旦执行了raise语句,raise之后的语句将不能执行。
在raise关键字之后抛出一个ValueError类型的异常信息,并在后面的参数中定义具体的异常信息。
异常处理不能消灭异常,但是却可以让原本不可控的异常及时被发现,并按照设计好的方式被处理
异常处理让程序不会被意外的终止,而是按照设计以不同的方式结束运行。
except后的异常类型至关重要,需要根据try子句具体操作进行恰当选择。
首先,将Excel文件的格式转换为.csv(这个不会的自行百度)。
这次下载的库存数据是 CSV 文件。 这个文件的格式是: 1. 以逗号分隔; 2. 分隔的除了逗号,还在两头加上了双引号。因此,在两个双引号中间的内容是可以包含逗号的,因为在两个双引号中间,这样的逗号不应该被...
回答 4 已采纳 先遍历一个文件夹文件初始化hashtable,然后遍历另外一个和hashtable对比不存在输出,最后遍历hashtable得到第一个文件夹和另外一个不同的 下面为示例,不懂linq如何简写..
回答 2 已采纳 csv直接用读文本的形式读,效率会高点。
并将文件夹和文件名称打印在控制台上面。并且要显示文件目录的层级 * 注:运用了
做CSV导入数据库,一般是采用逐行读取,数据连接读取,再有这个通过引用Microsoft.VisualBasic.FileIO.TextFieldParser 其它方法我没试过,有朋友可以提示一下,非常感谢。逐行读取方法比较傻,数据连接读取效率...
开发过程中难免会遇到读取Excel文件的情况,本文主要记录读取Excel文件的方法由于本文目的是供自己和各位童鞋日后学习参考,没有考虑过多方面,把所有方法及属性全部放到了一个文件中。 .xls格式 Office...
回答 1 已采纳 你要这么处理的话要先在那个路径下create一个csv文件,然后创建该文件流stream,然后StreamWriter sw =
客户端读取CSV文件,通过Socket传输给服务器端,排序后保存CSV文件,并传给客户端
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。