文件操作

基本操作

文件操作示例

f = open('test.txt',encoding='utf8')
first_line = f.readline()
print('first line:',first_line) #读一行
print('我是分割线\n',"-"*50)
data = f.read()# 读取剩下的所有内容,文件大时不要用
print(data) #打印读取内容

f.close() #关闭文件

 

文件打开规范

#不指定打开编码,默认使用操作系统的编码,windows为gbk,linux为utf-8,与解释器编码无关
 

文件打开模式

f=open('xxx.txt', '模式',encoding='gbk')

打开文件的模式有:

r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】

w,只写模式【不可读;不存在则创建;存在则清空内容】

x, 只写模式【不可读;不存在则创建,存在则报错】

a, 追加模式【可读;   不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

r+打开一个文件用于读写。文件指针将会放在文件的开头。

w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

"b"表示以字节的方式操作

  • rb  或 rb+
  • wb 或 wb+
  • ab 或 ab+

文件内光标移动

f.Seek(0)

 

File对象的属性

如下实例:

# 打开一个文件

fo = open("foo.txt", "wb")

print "文件名: ", fo.name

print "是否已关闭 : ", fo.closed

print "访问模式 : ", fo.mode

print "末尾是否强制加空格 : ", fo.softspace

 

以上实例输出结果:

文件名:  foo.txt

是否已关闭 :  False

访问模式 :  wb

末尾是否强制加空格 :  0

多文件打开方式和文件修改

with open('a.txt','r',encoding='utf-8') as read_f,

open('.a.txt.swap','w',encoding='utf-8') as write_f:

for line in read_f:

        if line.startswith('hello'):

            line='哈哈哈\n'

        write_f.write(line)

 

os.remove('a.txt')

os.rename('.a.txt.swap','a.txt')

 

posted @ 2017-06-12 17:12  年少倾负  阅读(125)  评论(0)    收藏  举报