对pythonfor⽂件指定⾏读写操作详解
1.os.mknod(“”) #创建空⽂件
2.fp = open(“”,w) #直接打开⼀个⽂件,如果⽂件不存在则创建⽂件
3.关于open 模式:
详情:
w:以写⽅式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新⽂件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以⼆进制读模式打开
wb:以⼆进制写模式打开 (参见 w )
ab:以⼆进制追加模式打开 (参见 a )
rb+:以⼆进制读写模式打开 (参见 r+ )
wb+:以⼆进制读写模式打开 (参见 w+ )
ab+:以⼆进制读写模式打开 (参见 a+ )
fp.write(str) #把str写到⽂件中,write()并不会在str后加上⼀个换⾏符
fp.writelines(seq) #把seq的内容全部写到⽂件中(多⾏⼀次性写⼊)。这个函数也只是忠实地写⼊,不会
在每⾏后⾯加上任何东西。
fp.close() #关闭⽂件。python会在⼀个⽂件不⽤后⾃动关闭⽂件,不过这⼀功能没有保证,最好还是养成⾃⼰关闭的习惯。如果⼀个⽂件在关闭后还对其进⾏操作会产⽣ValueError
fp.flush() #把缓冲区的内容写⼊硬盘
fp.fileno() #返回⼀个长整型的”⽂件标签“
fp.isatty() #⽂件是否是⼀个终端设备⽂件(unix系统中的)
<() #返回下⼀⾏,并将⽂件操作标记位移到下⼀⾏。把⼀个file⽤于for … in file这样的语句时,就是调⽤next()函数来实现遍历的。
fp.seek(offset[,whence]) #将⽂件打操作标记移到offset的位置。这个offset⼀般是相对于⽂件的开头来计算的,⼀般为正数。但如果提供了whence参数就不⼀定了,whence可以为0表⽰从头开始计算,1表⽰以当前位置为原点计算。2表⽰以⽂件末尾为原点进⾏计算。需要注意,如果⽂件以a或a+的模式打开,每次进⾏写操作时,⽂件操作标记会⾃动返回到⽂件末尾。
#coding: utf-8
#打开⽂件open(),默认只读"r".
f = open(".\\")
data = f.read()
print(data)
#exp2:绝对路径
f = open("","r")
data = f.read()
print(data)
#exp3:绝对路径
f = open("D:\\mytest\\") data = f.read()
print(data)
#打开并关闭⽂件:
f = open("","r")
data = f.read()
print(data)
f.close()
#写⽂件write()不换⾏:
f = open("","w")
f.write("ddddddddddddd"+"\n")
f.close()
第⼀种⽅式读写指定⾏:
#写⽂件writelines()换⾏:
with open("","w") as z: z.write("33333333"+"\n")
z.write("cccccccccc"+"\n")
#读取指定⾏:
with open("",'r') as x: line = x.readlines()
first_line = line[0]
second_line = line[1]
print(first_line)
print(second_line)
第⼆种⽅式读写指定⾏:
#coding: utf-8
#将⽂件读进列表(反复追加)中:lines = []
with open("","r") as y: for line in y:
lines.append(line)
y.close()
#在列表中插⼊⽂本数据:lines.insert(0, "aaaa\n")
lines.insert(1, "bbbb\n")
print(lines)
#利⽤分隔符连接:
s = ''.join(lines)
print(s)
#写到⽂件中去:
with open("","w") as z: z.write(s)
z.close()
#再次读取⽂件中的数据:
with open("","r") as x: data = x.read()
print(data)
x.close()
del lines[:]
print(lines)
第三种⽅式读写指定⾏:
#coding: utf-8
#在列表中插⼊⽂本数据:
lines = []
a = "abc123"
b = "edf456"
lines.insert(0, a)
lines.insert(1, b)
print(lines)
#利⽤分隔符连接:
s = '\n'.join(lines)
#写到⽂件中去:
with open("","w") as z:
z.write(s)
z.close()
#再次读取⽂件中的数据:
with open("","r") as x:
data = x.read()
print(data)
x.close()
#清空列表:
# del lines[:]
# print(lines)
第三种的⼩改⽅式:
#在列表中插⼊⽂本数据:
lines = []
lines.insert(0, "aaaa\n")
lines.insert(1, "bbbb\n")
print(lines)
#利⽤分隔符连接:
s = ''.join(lines)
#写到⽂件中去:
with open("","w") as z:
z.write(s)
z.close()
#再次读取⽂件中的数据:writelines()方法将什么写入文件
with open("","r") as x:
data = x.read()
print(data)
x.close()
#清空列表:
# del lines[:]
# print(lines)
备注:第⼀种⽅式,⽐较⽣硬,不推荐。第⼆种⽅式可以反复追加内容,第三种⽅式只追加⼀次,不会重复。
以上这篇对python for ⽂件指定⾏读写操作详解就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。