1. 文本文件的读写主要通过open()所构建的文件对象来实现。我们打开一个文件,并使用一个对象来表示该文件 , f = open(d,r) 其中d是文件名,r是模式
"r" 文件只读,使用 f.write()会报错
"w" 用于写入,每次使用f.write()都会把上一次给覆盖掉
"r+" 用于读写
"a" 文件追叫,每次写入会追加在前一次后面
##1. 创建文件对象(%%在编代码的文件夹下建一个new.txt) f=open("new.txt","r+")
##2. write()写文件,,可以用w,r+,a模式,其中w,和r+是覆盖,a是追加文件在后面 for i in range(10): f.write("Hello World\n") f.close() #如果不用f.close(),new.txt文件将什么内容都没有 print(f.closed)
##3. 文件的读取 f=open("new.txt","r+") # 因为f.close()掉了,所以要重新创建一个文件对象 content1=f.read(20) # 读取20 bytes的数据 content2=f.readline() # 读取一行 content3=f.readlines() # 读取所有行 print("content1 is {0},content2 is {1},content3 is {2}".format(content1,content2,content3)) f.close()
##4. 上下文管理器(context manager) ##上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。 ##打开文件,读写,关闭文件。程序员经常会忘记关闭文件。上下文管理器可以在不需要文件的时候,自动关闭文件。 file_name="E://PythonCode//source//record.txt" with open(file_name,"r+") as f: print(f.closed) #False 表示还没关 for i in range(10): f.write("Hello World\n") print(f.closed) #没有用f.close()但是已经自动关了
2. 文本的输出方式有很多,在这里简单介绍一下print()函数
#print的format方法 for x in range(1, 11): #{0:1d} 0表示第一个参数 即x, 1d表示前面空几个空格, print(‘{0:1d} {1:2d} {2:3d}‘.format(x, x*x, x*x*x))
#用字符串的rjust()方法 for x in range(1, 11): print(repr(x).ljust(2), repr(x*x).ljust(3),end=‘ ‘) print(repr(x*x*x).rjust(4)) #zfill()方法 for x in range(1,11): print(str(x).zfill(4),str(x*x).zfill(4),str(x*x*x).zfill(4))