Python文件操作基本流程代码实例

yipeiwu_com7年前Python基础

文件操作之基本流程

#文本
近日,上市药企——浙江莎普爱思药业股份有限公司频遭质疑。
12月2日,一篇名为《一年卖出7.5亿的洗脑“神药”,请放过中国老人》的文章称,
多位眼科医生并不认可莎普爱思滴眼液的“白内障防治功效”。质疑者认为,
莎普爱思滴眼液是“假科普,真营销”,通过广告误导患者。
针对质疑,莎普爱思3日晚发布的公告称,
0.5%苄达 赖氨酸滴眼液已于上世纪90年代通过了临床试验,
是一种安全的、有效的抗白内障药物。假的

#‘r'打开,需要编码
f=open('测试','r',encoding='utf8')
print(f.read(10))

#‘w'打开,也需要编码,
f1=open('测试','w',encoding='utf8')
#print(f1.read())
f1.write('hello')
f1.write('world!爱')
f.close()
f1.close()

#‘a'打开,也要编码,和‘w'方式一样,不能够读取
要换行要加\n

#读取一行
s=f.readline()
#读取多行,读取是一个列表
s=f.readlines()
for i inf.readlines(): #有.strip()和没有.strip()的区别
  print(i.strip())
number=0
for i inf.readlines():
  number += 1
  if number == 6:
    i= ''.join([i.strip(),'iaiqiu']) #字符串连接,取代万恶的"+"
  print(i.strip())

直接用列表操作更快

data=f.readlines()
data[5]=''.join([data[5],'iaiqiu'])

上面都是闹着玩的,以后读文件肯定不会这样,不可能全部读取到内存里,因为内存可能没有那么大。

for i inf:
  print(i.strip())

这种才是以后使用的,最优的。

#f.tell()和f.seek()方法,tell()方法返回文件位置
print(f.tell())
print(f.read(10))
print(f.tell())
f.seek(0)
print(f.read(10))
f.close()
#flush()方法,sys.stdout是python编辑框文件,idle也是一个文件
importsys,time
for i inrange(20):
  sys.stdout.write('#')
  sys.stdout.flush()
  time.sleep(0.2)
#truncate()方法,截断,留下前面的。
f.truncate(20)#中文有点问题,像是删除英文字符单位

近日,上市药 :最后那个字,3个字符的,被截成2个没有办法显示了

#r+格式打开文本

1)直接开始写

filename='suibian'
f=open(filename,'r+',encoding='utf8')
#print(f.readline())
f.write('lalalalal')

近日,上市药企——浙江莎普爱思药业股份有限公司频遭质疑。
12月2日,一篇名为《一年卖出7.5亿的洗脑“神药”,请放过中国老人》的文章称,

lalalalal上市药企——浙江莎普爱思药业股份有限公司频遭质疑。
12月2日,一篇名为《一年卖出7.5亿的洗脑“神药”,请放过中国老人》的文章称,
::会有文本被覆盖。

2)读了后再写,在最后追加内容

#w+格式打开
还是先清空文件
#a+格式打开
光标在最后。
用最多的是r+格式打开
#同时管理多个文件对象
with  open(filename,'r',encoding='utf8')as  f_read,open(filename,'w',encoding='utf8') as  f_write:
  pass

#01初级代码

#__author: _nbloser
#date: 2017/12/10
# shaoguan = {'仁化', '始兴', '乐昌', '南雄'}
# jiangmeng = {'开平', '蓬江', '台山', '鹤山', '恩平'}
# guangdong_province = {'韶关':shaoguan, '江门':jiangmeng}
# nanchang = {'东湖', '西湖', '新建', '安义', '进贤'}
# jingdezhen = {'昌江', '珠山', '乐平', '浮梁'}
# jiangxi_province = {'南昌': nanchang, '景德镇': jingdezhen}
# provinces = {'广东': guangdong_province, '江西': jiangxi_province} #事先写入文件
f = open('province.txt', 'r', encoding='utf8')
data = eval(f.read())
f.close()
current_layer = data
parent_layer = []
# exit_flag = False
while True:
  for i in current_layer:
    print(i)
  choice = input(">>")
  if choice in current_layer:
    parent_layer.append(current_layer)
    current_layer = current_layer[choice]
  elif choice == 'b':
    current_layer = parent_layer.pop()
  elif choice == 'q': break
  elif choice == 'i':
    insert = input("输入你要添加的内容:")
    current_layer.setdefault(insert, { })
    with open('province.txt', 'w', encoding='utf8') as f_write:
      f_write.write(str(data))
      f_write.flush()
  else:
    print("查无此项")

总结

以上就是本文关于Python文件操作基本流程代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python用字典构建多级菜单功能

相关知识点: #key-value #字典是无序的,因为他没有下标,通过key找 info={ 'stu01':"liuhaolai", 'stu02':"wangshulin"...

python递归实现快速排序

快速排序(QuickSort)是对冒泡排序的一种改进: 基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两...

在Python中关于中文编码问题的处理建议

字符串是Python中最常用的数据类型,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这时候代码就很可能抛出UnicodeDecodeError: 'ascii' codec...

浅谈django url请求与数据库连接池的共享问题

浅谈django url请求与数据库连接池的共享问题

但凡介绍数据库连接池的文章,都会说“数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响...

Python分支结构(switch)操作简介

Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。 switch语句用于编写多分支结构的程序,类似与if….elif….else语句。...