--写入
写数据有几种不同的模式,最常用的是w’, ‘a’, 分别表示擦除原有数据再写入和将数据写到原数据之后:
是否覆盖原有内容:w和a的区别
1.python 写入文件:
with open("test_log.txt","w")as f:
f.write("陈晓是个大美女\n"*10)
2.python 写入文件乱码问题:
with open('/yourpath/test.csv','a',newline='', encoding='utf-8') as f:
3.不清空连续写入:
v="陈晓是个大美女\n"
title="test_log"
with open("%s.txt"%title,"w")as f:
for linein v:
f.write(line)
# f.write("\n")
--读取
读取整个文件
with open('p_w.txt') as f: # 默认模式为‘r’,只读模式
contents = f.read() # 读取文件全部内容
print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行)
print '------------'
print contents.rstrip() # rstrip()函数用于删除字符串末的空白
逐行读取。for/f.readline
版本1:
with open('p_w.txt') as f: # 需要重新打开文本进行读取
for line2 in f:
print line2.rstrip() # 删除字符串末尾的空白
版本2:指定行数读值。
with open('p_w.txt') as f: # readline()每一次读取一行数据,并指向该行末尾
line1 = f.readline() # 读取第一行数据(此时已经指向第一行末尾)
line2 = f.readline() # 从上一次读取末尾开始读取(第二行)
print line1.rstrip()
print line2.rstrip()
版本3:一次性读取分开存储以便于后续的操作。for /f.readlines
with open('p_w.txt') as f:
lines = f.readlines() # 读取文本中所有内容,并保存在一个 列表 中,列表中每一个元素对应一行数据print lines # 每一行数据都包含了换行符
综上:我们想要一次性读取全部数据并且按分开存储以便于后续的操作,用for/f.readlines.
###将所有的内容拼接在一起。
for line in lines:
pi_str += line.rstrip() #字符串连接
print pi_str
网友评论