6要terwq 发表于 2017-10-30 09:31:13

Python文件

针对1.txt文件进行操作
#导入codecs模块,此模块可以解决Python读取文件编码的问题
例子1
import codecs
#打开1.txt文件

f = codecs.open('1.txt')
text = f.read()

#使用replace方法将text字符串中的a替换为1
a = text.replace('a','1')

print (f.read())

print a

#关闭文件
例子2
f.close()

import codecs
f = codecs.open('2.txt','w')

f.write('This is a TEST file!')

f.close
replace()方法可以针对读取的文件进行替换操作

open(‘filename’,mode)读取文件
mode 参数为r读 w写 b二进制读取 a追加写入


readline()方法是读取文件的一行

f.redline()


next()方法为读取打开文件光标的下一行
f.next()


readlines()方法可将文件内容读取为一个列表,文件中的行就是列表中的元素,程序中第二次使用readlines方法的时候会从第一次读取的末尾继续读取

#codecs.open()默认mode为rb,所以读取为二进制
f = codecs.open('2.txt')
print f.readlines()

f.close
输出:['This is a TEST file!\r\n', '1\r\n', '2\r\n', '3']


write()和writelines()方法是写入文件,writelines需要传一个列表

f = codecs.open('2.txt','wb')

f.write('abc\n def\n')

f.writelines(['1\n','2\n','3\n'])

f.close

tell()方法可以输出调用之前有多少个字符
seek()方法可以移动在文件中的光标,seek(0)是移动到最前,移动光标后则从0字符开始替换之前内容
import codecs
f = codecs.open('2.txt','wb')

f.write('abc\ndef\n')

f.writelines(['1\n','2\n','3\n'])

print f.tell()

f.seek(0)

f.write('hhh')

print
f.close

#查看文件名称
print f.name

#查看文件的打开mode方式
print f.mode

#刷新文件到缓存中
print f.flush()

#查看文件的编码格式,未指定输出None
print f.encoding

文件中with语句的用法
with codecs.open('1.txt') as ff:

    print ff



例子1 输出文件的第几行内容
#linecache.getlines('a.txt')Python中已有的方法,可以查看源码学习
with codecs.open('1.txt') as ff:

    for line,num in enumerate(ff):

      if line == 3-1:

            print num




页: [1]
查看完整版本: Python文件