Python DayDayUp —— 获取本地数据

获取本地数据的步骤:

  • 打开文件
  • 读取文件
  • 写文件
  • 关闭文件

第一步:读文件

 1 file_obj = open(filename,mode = 'r',buffering = -1, ...)  #返回文件对象

  • mode为可选参数,默认值为r(读),w(写) ,a(追加) ,r+(读写) ,w+(读写(清空原内容)) , rb(二进制读) , wb(二进制写) ,
    •  ab(二进制追加) , rb+(二进制读写) , wb+(二进制读写) , ab+(二进制读写)
  • buffering也是可选参数,默认为-1(0代表不缓冲,1或者大于1的值表示缓冲一行或指定缓冲大小

 2 f.read(size) , f.readline() , f.readlines 方法

with open('firstpro1.txt','r+') as f:
     p1 = f.read(5)    #读出5个字节
     p2 = f.read()    #默认读取后面所有字符串
print(p1)
print(p2)
with open('school.txt') as f:
p1 = f.readline()  #读取单行。
p2 = f.readlines(2)  #读取多行,返回列表,包括换行符,2 表示读两行。
print(p1,p2)

#结果

第一中学

['第二中学
', '第三中学']

第二步:写文件

 1 f.write() , f.writelines() 方法

f = open('firstpro.txt','w')
f.write('Hello world!')
f.close()
with open('firstpro1.txt','w') as f:
     f.write('Hello world!')

 2 小练习:将刚才使用的school.txt文件的每一行加上序号。然后写入到另一个文件school_1.txt中。

with open ('school.txt','r+') as f:
     school_name = f.readlines()  #多行读取  
     for i in range(0,len(school_name)):
          #给内容添加序号  
          school_name[i] = str(i+1) + ' ' + school_name[i]

with open ('school_1.txt','w') as f1:
     f1.writelines(school_name)    #多行写入
    

第三步:关闭文件

 f.close()

原文地址:https://www.cnblogs.com/BeautifulSoup/p/8386570.html