首页 > 代码库 > Python 文件的输入与输出

Python 文件的输入与输出

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))