鱼C论坛

 找回密码
 立即注册
查看: 1721|回复: 1

[技术交流] 27 文件:一个任务 - 景命

[复制链接]
发表于 2017-7-26 01:58:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 景命 于 2017-7-26 01:59 编辑

这节课就敲代码来着,知识点少点。
知识点:

  • 如果.py文件和要打开的文件在同一个文件夹中,那么可以不用写路径,直接写要打开的文件名。
  • 数据可以不用变量名声明:
    1. (a,b) = "asdf","asdf"                #应该数类似于序列的变量。
    复制代码


       



任务代码
注释就不写了,都是大白话。认真点都能懂。
1)自己写的:
最笨的方法:
  1. t = open(r"E:\Python\文件\record.txt")

  2. b1 = open(r"E:\Python\文件\boy_1.txt","w")
  3. b2 = open(r"E:\Python\文件\boy_2.txt","w")
  4. b3 = open(r"E:\Python\文件\boy_3.txt","w")

  5. g1 = open(r"E:\Python\文件\gir_1.txt","w")
  6. g2 = open(r"E:\Python\文件\gir_2.txt","w")
  7. g3 = open(r"E:\Python\文件\gir_3.txt","w")

  8. for i in t:
  9.     if "小甲鱼:" in i:
  10.         b1.write(i[4:])
  11.     elif "小客服:" in i:
  12.         g1.write(i[4:])
  13.     elif "=" in i:
  14.         for j in t:
  15.             if "小甲鱼:" in j:
  16.                 b2.write(j[4:])
  17.             elif "小客服:" in j:
  18.                 g2.write(j[4:])
  19.             elif "=" in j:
  20.                 for k in t:
  21.                     if "小甲鱼:" in k:
  22.                         b3.write(k[4:])
  23.                     elif "小客服:" in k:
  24.                         g3.write(k[4:])

  25. t.close()
  26. b1.close()
  27. b2.close()
  28. b3.close()
  29. g1.close()
  30. g2.close()
  31. g3.close()
复制代码





2)小甲鱼的:
这个小甲鱼课上有讲过
  1. def wenjian(i,j,s):
  2.     girl = "E:\\Python\\文件\\girl_" + str(s) + ".txt"
  3.     boy = "E:\\Python\\文件\\boy_" + str(s) + ".txt"
  4.     girl_file = open(girl, "x")
  5.     boy_file = open(boy, "x")

  6.     girl_file.writelines(i)
  7.     boy_file.writelines(j)

  8.     girl_file.close()
  9.     boy_file.close()

  10. def a(name):
  11.     t = open(name)

  12.     a = []
  13.     b = []
  14.     s = 1

  15.     for i in t:
  16.         if "=" not in i:
  17.             if "小甲鱼:" in i:
  18.                 a.append(i[4:])
  19.             elif "小客服:"in i:
  20.                 b.append(i[4:])
  21.         else:
  22.             wenjian(a,b,s)
  23.             a = []
  24.             b = []
  25.             s += 1
  26.     wenjian(a,b,s)
  27.     t.close()

  28. a(r"E:\Python\文件\record.txt")
复制代码









3)人家写的的:
看完别人写的,再看自己的简直就是狗屎。
  1. a = open(r"E:\Python\文件\record.txt")
  2. s = 1
  3. for i in a:
  4.     if "小甲鱼:" in i:
  5.         b = open(r"E:\Python\文件\boy_%d.txt" % s,"a")
  6.         b.write(i[4:])
  7.     elif "小客服:" in i:
  8.         g = open(r"E:\Python\文件\girl_%d.txt" % s,"a")
  9.         g.write(i[4:])
  10.     else:
  11.         s += 1
  12.         b.close()
  13.         g.close()
  14. b.close()
  15. g.close()
  16. a.close()
复制代码



要是有课后动动手不会的,记得私聊我,我可以把我的思路告诉你。

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-15 21:49:43 | 显示全部楼层
我感觉人家写的有问题,每次都以追加的方式打开文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 06:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表