Python基础篇【第七篇】:文件操作

open函数

用于文件处理,使用方式:

#file = open(‘文件路径‘,‘操作方式‘,‘指定以什么字符集方式打开‘)

file = open("ha.log",‘r‘,encoding=‘utf-8‘)

操作方法:

序号 方法及描述
1
file.close()

关闭文件。关闭后文件不能再进行读写操作。

2
file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3
file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4
file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

5
file.next()

返回文件下一行。

6
file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7
file.readline([size])

读取整行,包括 "\n" 字符。

8
file.readlines([sizehint])

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。

9
file.seek(offset[, whence])

设置文件当前位置

10
file.tell()

返回文件当前位置。

11
file.truncate([size])

截取文件,截取的字节通过size指定,默认为当前文件位置。

12
file.write(str)

将字符串写入文件,没有返回值。

13
file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

文件操作:打开文件、操作文件、关闭文件,在对文件操作的时候默认的方式是只读,在Python内部打开文件的时候是以二进制的方式打开的,通过解释器输出以人能看的懂的方式输出。

 1 #只读,r
 2 f = open(‘ha.log‘,‘r‘)
 3 f.write(‘fasdf‘)
 4 f.close()
 5
 6 #w,只写模式[不可读;文件不存在则创建;存在则清空内容]
 7 f = open(‘ha1.log‘,‘w‘)
 8 f.write("123")
 9 f.close()
10
11 #x,只写模式[不可读;不存在则创建,存在则报错]
12 f = open("ha2.log",‘x‘)
13 f.write("456")
14 f.close()
15
16 #a,追加模式[不可读;不存在则创建;存在则之追加内容]
17 f = open(‘ha3.log‘,‘a‘)
18 f.write("12345")
19 f.close()
20
21 #字节的方式打开
22 #1,只读,rb
23 f = open(‘ha.log‘,‘rb‘)
24 data = f.read()
25 f.close()
26 print(type(data))
27 print(data)
28 str_data = str(data,encoding="utf-8")
29 print(str_data)
30
31 #2.只写
32 f = open(‘ha.log‘,‘wb‘)
33 str_data = "中国人"
34 bytes_data = bytes(str_data,encoding=‘utf-8‘)
35 # f.write(bytes("中国",encoding=‘utf-8‘))
36 f.write(bytes_data)
37 f.close()
38
39 #r+读,写
40 f = open(‘ha.log‘,‘r+‘)
41 #指针0,起始位置
42 print(f.tell())
43 data = f.read()
44 print(type(data),data)
45 f.write("德国人")
46 data = f.read()
47 print(type(data),data)
48 print(f.tell())
49 f.close()
50
51 #w+,先清空,在写的之后,就可以读了,写过之后指针到最后
52 f = open(‘ha.log‘,‘w+‘)
53 f.write("abc")
54 f.seek(0)
55 data = f.read()
56 f.close()
57 print(data)
58
59 # x+如果文件就会报错,其他和w+一样
60
61 #a+
62 # a,打开的同事,指针已经移动到最后
63 f = open(‘ha.log‘,‘a+‘)
64 # print(f.tell())
65 data = f.read()
66 print(f.tell())
67 f.seek(0)
68 print(f.tell())
69 data = f.read()
70 f.close()
71 print(data)
72
73 # seek(num)调整位置
74 # tell()查看位置
75 #
76 # 读取所有行
77 f = open(‘ha.log‘,‘r‘)
78 for line in f:
79     print(line)
80
81 #with,支持同时打开两个文件(python2.7之后)
82 with open(‘ha.log‘,‘r‘) as f, open(‘ha1.log‘,‘r‘) as f2:
83     data = f.read(),f2.read()
84     print(data)

常用方法:

 1 def close(self, *args, **kwargs): # real signature unknown
 2         ‘‘‘关闭文件‘‘‘
 3         pass
 4
 5     def detach(self, *args, **kwargs): # real signature unknown
 6         ‘‘‘分离?‘‘‘
 7         pass
 8
 9     def fileno(self, *args, **kwargs): # real signature unknown
10         ‘‘‘文件描述‘‘‘
11         pass
12
13     def flush(self, *args, **kwargs): # real signature unknown
14         ‘‘‘刷新文件内部缓冲区‘‘‘
15         pass
16
17     def isatty(self, *args, **kwargs): # real signature unknown
18         ‘‘‘判断文件是否是同意tty设备?‘‘‘
19         pass
20
21     def read(self, *args, **kwargs): # real signature unknown
22         ‘‘‘读文件,指定字节数据‘‘‘
23         pass
24
25     def readable(self, *args, **kwargs): # real signature unknown
26         ‘‘‘是否可读‘‘‘
27         pass
28
29     def readline(self, *args, **kwargs): # real signature unknown
30         ‘‘‘仅读取一行‘‘‘
31         pass
32
33     def seek(self, *args, **kwargs): # real signature unknown
34         ‘‘‘指定文件中指针的位置‘‘‘
35         pass
36
37     def seekable(self, *args, **kwargs): # real signature unknown
38         ‘‘‘指针是否可操作‘‘‘
39         pass
40
41     def tell(self, *args, **kwargs): # real signature unknown
42         ‘‘‘获取指针位置‘‘‘
43         pass
44
45     def truncate(self, *args, **kwargs): # real signature unknown
46         ‘‘‘截断数据,仅保留指定之前的数据‘‘‘
47         pass
48
49     def writable(self, *args, **kwargs): # real signature unknown
50         ‘‘‘是否可写‘‘‘
51         pass
52
53     def write(self, *args, **kwargs): # real signature unknown
54         ‘‘‘写内容‘‘‘
55         pass
时间: 2024-11-05 12:15:35

Python基础篇【第七篇】:文件操作的相关文章

python基础之字符编码及文件操作

一.了解字符编码前的知识储备 1.计算机运行程序或读取文件的原理 为了使计算机运行速度不被I/O操作速度拖慢,CPU并不会直接从硬盘中读取数据,因为硬盘的读写速度和CPU相差太大,所以CPU都是从速度相对较快的内存中读取数据的.而程序文件和文本文件为了永久保存又都保存在硬盘中,因此计算机运行程序或读取文件的过程一般是这样的,先由操作系统控制硬盘将程序文件或文本文件读取到内存中,然后CPU再从内存中读取数据运行或者输出到终端打印到屏幕上. 2.文本编辑器读取文件原理 2.1文本编辑器程序文件读取到

重修课程day6(python基础4之集合和文件操作)

一 字典属性方法补充 1 clear  :清空 2 Cory:拷贝 3 fromkeys:生成一个字典,类下面的一个属性方法 4 pop  :删除 5 popitem  : 删除整个元素 6 setdefault:只添加不修改 7 update :存在的话跟新,没有就会添加 二 集合以及集合的功能 集合是一个不存在重复的值,而且还是无序的. 1 add :添加不可能重复 2 clear :清空 3 copy :拷贝 4 difference :差集只存在一个集合的 5 difference_up

python基础总结(函数,文件操作)

一.内建函数 1.数学运算类 abs(x)#求绝对值 divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base]])#将一个字符转换为int类型,base表示进制 long([x[, base]])#将一个字符转换为long类型 range([start], stop[, step]) #产生一个序列,默认从0开始 oct(x)#将一个数字转化为8进制 hex(x)#将整数x转换为16进制字符串 chr(i)

python基础(十四)--文件操作

1,文件操作.    模特主妇护士老师.txt    1,文件路径:d:\模特主妇护士老师.txt    2,编码方式:utf-8 gbk ....    3,操作方式:只读,只写,追加,读写,写读.....        以什么编码方式储存的文件,就以什么编码打开进行操作. 只读:r          rb        f = open('模特主妇护士班主任',mode='r',encoding='utf-8')        content = f.read()        print(

Python 基础【第七篇】组合

一.组合的概念: 不同元素的合集 二.组合的方法: 方法 用法 范例 set() 过滤掉重复 设置成为集合 >>> subset=set([1,1,2,3,4,4,6]) >>> subset set([1, 2, 3, 4, 6]) //集合中剔除了重复的值 这里剔除了1,4 >>> type(subset) //查看subset类型为set集合 <type 'set'> subset_1 &subset_2 求交集 >&g

Python基础【day03】:文件操作

对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 + 基本操作 1 2 3 4 5 6 7 8 f = open('lyrics') #打开文件 first_line = f.readline() print('first line:',first_line) #读一行 print('我是分隔线'.center(50,'-')) data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印文件 f.cl

Python基础(集合用法、文件操作、字符编码转换、函数)

集合(Set)及其函数 集合是一个无序的.无重复元素的序列. 1 list = {1, 3, 6, 5, 7, 9, 11, 3, 7} # 定义集合方式一 2 list1 = set([1, 3, 6, 5, 7, 9, 11, 3, 7]) # 定义集合方式二 3 list2 = set() # 定义一个空集合 4 5 print(list1, list) # 打印后可看到,集合中的元素已自动去重 6 print(3 in list) # 判断一个元素是否在集合中,返回bool值 7 pri

Python学习系列(五)(文件操作及其字典)

Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如: 1 #coding:utf-8 2 fn='test1.py' 3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py 4 print 'reading pos:',fp.tell() 5 r=fp.read(20) #

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

python速成第二篇(小爬虫+文件操作+socket网络通信小例子+oop编程)

大家好,由于前天熬夜写完第一篇博客,然后昨天又是没休息好,昨天也就不想更新博客,就只是看了会资料就早点休息了,今天补上我这两天的所学,先记录一笔.我发现有时候我看的话会比较敷衍,而如果我写出来(无论写到笔记本中还是博客中,我都有不同的感觉)就会有不同的想法,我看书或者看资料有时候感觉就是有一种惰性,得过且过的感觉,有时候一个知识想不通道不明,想了一会儿,就会找借口给自己说这个知识不重要,不需要太纠结了,还是去看下一个吧,然后就如此往复下去,学习就会有漏洞,所以这更加坚定了我写博客来记录的想法.