Python基础教程系列:九、文件操作

一、open()函数

open()以及file()(open()与file()等价,可以任意替换)提供了初始化输入/输出(I/O)操作的通用接口。open()函数成功打开一个文件后就会返回一个文件对象,说白了你就可以接着读写了,否则就bug了。

语法:file_object = open(file_name, access_mode=‘r‘, buffering=-1)

第一个参数是文件名或者路径(绝对或相对路径),第二个参数叫文件打开的模式,不写时默认是‘r‘模式。‘r‘模式是只读模式、‘w‘是写模式、‘a‘是追加模式,写模式和追加模式都是写文件,区别在于,‘w‘是覆盖写,也就是每次写的时候都会把之前的内容覆盖掉,只保留最后一次的内容,而‘a‘模式是在原来的基础上接着写。这三种是使用最多的,当然还有很多模式,我这里就不介绍了。第三个参数是缓冲方式,0表示默认、-1表示只缓冲一行数据,任何大于0的都代表给定值的缓冲区大小,没有特殊需求都采用默认,不写。

二、通用换行符(UNS)

不用特殊记忆,只需要知道在python中换行符就是‘\n‘,这就是UNS把不同平台下的‘\r‘,‘\n‘,‘\r\n‘都转换成了‘\n‘,python中默认就是打开了该项服务。

三、输入 read

1、read(size)方法,可以读取指定字节到字符串中,若没有指定,文件将被读取至结尾。

2、readline(),用的最多的,一行一行的读,当然它也有一个参数(size),通常用不到,否则大于size后的字节返回不完整的行。

3、readlines() 方法并不像其它两个输入方法一样返回一个字符串. 它会读取所有(剩余的)行然
后把它们作为一个字符串列表返回。是个列表形式。

四、输出write

1、write() 内建方法功能与 read() 和 readline() 相反. 它把含有文本数据或二进制数据块的字符串写入到文件中去.

2、和 readlines() 一样,writelines() 方法是针对列表的操作, 它接受一个字符串列表作为参数, 将它们写入文件. 行结束符并不会被自动加入, 所以如果需要的话, 你必须在调用writelines()前给每行结尾加上行结束符.

3、注意这里并没有 "writeline()" 方法, 因为它等价于使用以行结束符结尾的单行字符串调用write() 方法.

注意:当使用输入方法如 read() 或者 readlines() 从文件中读取行时, Python 并不会删除行结束符. 这个操作被留给了程序员. 例如这样的代码在 Python 程序中很常见:

f = open(‘myFile‘, ‘r‘)
    data = [line.strip() for line in f.readlines()]
    f.close()

类似地, 输出方法 write() 或 writelines() 也不会自动加入行结束符. 你应该在向文件写入数据前自己完成

五、文件迭代

for eachLine in f.readline():         如果你见到这样的代码, 这是"完成事情的老方法", 你可以安全地删除对readline() 的调用。我们可以用文件迭代    for eachLine in f:   就这样简单。

六、close

有open就得有close,关闭文件,尽管Python垃圾回收机制在一定程度上(引用的数量降至0)可以自动关闭文件。如果你不显式地关闭文件, 那么你可能丢失输出缓冲区的数据。调用 flush() 方法会直接把内部缓冲区中的数据立刻写入文件, 而不是被动地等待输出缓冲区被写入.

7、举几个简单的例子:

filename = raw_input(‘Enter file name: ‘)

f = open(filename, ‘r‘)

allLines = f.readlines()

f.close()

for eachLine in allLines:

print eachLine, # suppress print’s NEWLINE

与大多数标准的文件访问方法相比, 它的不同在于它读完所有的行
才开始向屏幕输出数据. 很明显如果文件很大, 这个方法并不好. 这时最好还是回到最可靠的方法:
使用文件迭代器, 每次只读取和显示一行:

filename = raw_input(‘Enter file name: ‘)

f = open(filename, ‘r‘)

for eachLine in f:

print eachLine, f.close()

文件读写很重要!!!

时间: 2024-10-11 22:50:05

Python基础教程系列:九、文件操作的相关文章

Python基础(三) 数据类型、文件操作

我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组成了基本控制块,从而创建的Python应用程序. 一.基本结构 1.数值: Python支持不同的数值类型: int (有符号整数): 通常被称为只是整数或整数,是正或负整数,不带小数点. long (长整数 ): 或长,是无限大的整数,这样写整数,后面跟着一个大写或小写的L. 注意:自从Python2.2起,如果整数发生溢出,Python会自动将整数转换为长整数,所以如今在长整数数据后面不加字

python基础(集合、文件操作)

集合: 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 = {'

python基础(集合,文件操作)

一.集合(set) 集合:1.无序的,不重复的 2.他里面的元素必须是可哈希的. int str bool () ,但是它本身是不可哈希的.   3.集合不能更改里面的元素   4.集合可以求交集,并集,差集,反交集等. 1.集合的创建 set1 = set({1,2,'alex'}) set2 = set1 print(set1,set2) # 输出结果:{1, 2, 'alex'} {1, 2, 'alex'} 2.集合的增(2种方式) 1.set1.add()(直接增加) set1 = {

python基础_集合、文件操作

集合 集合是一个无序的且数据不会重复.有去重.关系测试的作用 list = ["11","22","33","44","55"] list = set(list) print(list,type(list)) 结果为: {'33', '11', '22', '55', '44'} <class 'set'> 关系测试list1 = set(["11","22&quo

Python基础教程系列:七、字典

字典是Python语言中唯一的映射类型.映射类型不要求用数字值做索引就可以从一个容器中获取对应的数据项.你可以用键(key)直接映射到值,这就是为什么叫映射的原因,映射,我的理解就是索引,顺藤摸瓜就可以找到背后的幕后者.字典是Python中最强大的数据类型之一. 刚开始接触字典还是在Hadoop中的mapreduce,其实说白了就是键值对(key/value),所谓的索引通常是指key,而幕后者通常指的是value.每个key对应一个value,主要的好处是方面归类,而且按照key进行查找val

Python基础(三)文件操作和处理json

文件操作步骤:1.有一个文件,2.打开文件,3.读写修改文件,4.关闭文件 一.有一个文件:新建或导入文件 二.打开文件:如果是新建的文件默认和py文件在同一个目录:如果是打开文件,要将文件放在py同目录或者是打开文件要写绝对路径 打开文件有两种方式:1. f = open('user.txt') ; 2. with open ('user.txt') as f, open('user2.txt') as f: 两者的区别是第1种方法必须用f.close()关闭,定义一次只能打开一个文件 :第二

python基础教程总结10——文件

1.打开文件 open(name[mode[,buffing])    参数:  文件,模式,缓冲 1)name: 是强制选项,模式和缓冲是可选的 #如果文件不在,会报下面错误1 >>> f = open(r'D:\text.txt','r') 2 Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4 IOError: [Errno 2] No su

python 基础复习 08 之文件操作及练习

1 # 绝对路径: 就是最完整的路径 例子:"E:\数据结构与算法\python.txt" 2 # 相对路径: 相对则是不完整路径.也就是说咱们写的相对路径必须是当前文件夹里的文件才可以open. 3 4 # 只读 :r 5 # rb 6 # f = open('模特主妇老师', mode='r', encoding='utf-8') 7 # content = f.read() 8 # print(content) 9 # f.close() 10 11 # 在r+模式下 的先读 后

python基础(二)——文件操作

1.创建文件夹 >>> import os >>> os.mkdir("D:\python\dir") 2.判断文件or文件夹 >>> import os#判断是否是文件夹 >>> os.path.isdir(r"D:\python\dir") True#判断是否是文件 >>> os.path.isfile(r"D:\python\dir\file.txt"