文件
1.打开文本文件
逐数读取并输出
with open('pi.txt') as pi:
numbers=pi.read() #读取
print(numbers) #输出
for number in numbers:
print(number) #逐数输出
# 也可以使用如下方法:
pi=open('pi.txt', 'r').read()
# 若文件出现乱码或无法读取,可指定编码方式,如:
# pi=open('pi.txt', 'r', encoding='ANSI').read()
print(pi)
逐行读取并输出
with open('pi.txt') as pi:
lines=pi.readlines()
for line in lines:
print(line) #逐行读取
for line in lines:
print(line.strip())#清除空行
2.读取文本文件并进行只读操作
实例:输出文本文件的行数
pi=''
with open('pi.txt') as pi_:
lines=pi_.read()
for line in lines:
if line is not ' ' and line is not '\n':
pi+=line
print(len(pi))
实例:输入一串数字,看看这一串数字在不在pi.txt里面
print('文件pi.txt包含小数点后 '+str(len(pi))+' 位圆周率数值')
a=''
while a is not '#':
a=input('请输入一串数字,看看这一串数字在不在pi.txt里面。输入#退出。\n')
if a in lines:
print(a+' 在圆周率小数点后 '+str(len(pi))+' 位里面!')
elif a is not '#':
print(a+' 不在圆周率小数点后 '+str(len(pi))+' 位里面!')
else:
exit
file.tell() 返回文件位置
file.read().spiltlines() 将读取到的文本按行分割并存储为列表
file.truncate() 清除定位后的内容
file.seek(x,n) 从某位置(n=1当前位置,n=0开头,n=2结尾)移动x个字节
file.close 关闭文件
3.写文本文件
file_1='file_1.txt'
with open(file_1,'w') as file:
file.write(str(3+3))
with open(file_1,'r') as file:
a=file.read()
print(a)
实例:写入输入的字符到文件里
x=0
with open('file_2.txt','w') as file:
while x is not '#':
x=input('please input a string:')
file.write(x)
file.write('\n')
with open('file_2.txt','r') as file:
f=file.read()
print(f)
4.读写csv(逗号分隔符)文件
import csv
output_list = ['1','2','3','4']
with open('test.csv','w',encoding='utf-8') as csvfile:# 以UTF-8编码格式打开文件
w = csv.writer(csvfile)# 创建写入对象
w.writerow(output_list)# 写入文件
csvfile.close()
with open('test.csv','r',encoding='utf-8') as csvfile:# 以UTF-8编码格式打开文件
r = csv.reader(csvfile)# 创建读取对象
for row in r:
print(row)# 按行读取,输出的格式为列表