设为首页 收藏本站
查看: 899|回复: 0

[经验分享] python元组,文件的操作

[复制链接]

尚未签到

发表于 2018-8-6 10:45:38 | 显示全部楼层 |阅读模式
  新手刚刚开始学习python,如有写错或者写的不好的地方,请大家多多指导!
  python元组相加
  a = (1,2)
  b = (3,4)
  a + b
  元组运用乘法
  (1,2) * 4  #在这里边,元组不会被当成数字来计算,而是输出4次
  给字母类型的元组拍
  t = ('bb,','dd','aa','cc')
  tm = list(t)
  tm.sort()    #然后输出tm
  t = tuple(tm)
  用for的方式运算
  t = (1,2,3,4,5)
  l = [x + 20 for x in t]
  替换元组
  t = (1,[2,3],4)
  t[1][0] = 'spa'   #t元组中第二个数值之后紧挨着的数值
  python文件操作
  常见的文件运算
  output = open(r'd:\a.py', 'w')   创建输出文件(w是指写入)
  input = open('date', 'r')        创建输入文件(r是指读写)
  input = open('date')             与上一行想同(r是默认值)
  input.read()                     把整个文件读取进单一字符串
  input.read(N)                    读取之后的N个字节,到一个字符串
  input.readline()                 逐行读取,第一次读取第一行,第二次读取下一行
  alist = input.readlines()        读取整个文件到字符串列表
  output.write(as)                 写入字节字符串到文件
  output.writelines(alist)         把列表内所有字符串写入文件
  output.close()                   手动关闭(当文件收集完成是会替你关闭文件)
  output.flush()                   把输出缓冲区刷到硬盘中,但不关闭文件
  anyFile.seek(N)                  修改文件位置到偏移量N处以便进行下一个操作
  for line in open('data'): use line  文件迭代器一行一行的读取
  open('f.txt', encoding='latin-1')   python3.0unicode文本文件(str字符串)
  open('f.bin', 'rb')                 python3.0二进制byte文件(bytes字符串)
  实例应用
  myfile = open('myfile.txt', 'w')     #创建一个myfile.txt文件,并打开进行写入
  myfile.write('hello,world\n')
  myfile.write('good bye'\n)           #\n表示转行
  myfile.close()               #关闭文件 然后打开本地目录,看看文件内容是否一样
  读取文件
  myfile = open('myfile.txt')     #打开文件,默认是只读
  myfile.readline()              #读取第一行
  myfile.readline()              #读取下一行
  把整个文件读取进单一字符串
  open('myfile.txt').read()   #把所以文件一次性读取完,\n之后的表示下一行
  使用打印的方式来读取
  print(open('myfile.txt').read())    #这样处理的结果比较清晰,隔行分开
  用for的方式来逐行读取文件
  for line in open('myfile.txt'):
  print(line,end='')
  以二进制的方法打开文件
  data = open('myfile.txt', 'rb').read()  #这样的话效果不太明显,可以创建文本写入数字开看看
  data[4:8]
  data[0]
  bin(data[0])    #二进制的方式显示一个文件
  文件存储
  x, y, z = 43, 44, 45
  s = 'spam'
  d = {'a': 1,'b': 2}
  l = [1,2,3]
  f = open('data.txt', 'w')
  f.write(s + '\n')    #直接将s插入然后转行
  f.write('%s,%s,%s\n' % (x,y,z))
  f.write(str(l) + '$' str(d) + '\n')    #str输出l + str输出的d
  然后读取看下结果
  a = open('data.txt').read()
  print(a)
  去掉多余的行
  f = open('data.txt')
  line = f.readline()
  line.rstrip()            #移除掉用了转行的\n
  创建2进制文件
  d = {'a': 1,'b': 2}
  f = open('datafile.pk', 'wb')
  import pickle
  pickle.dump(d, f)
  f.close()
  想读取的时候,因为转换成二进制了,还要用pickle读取回来
  f = open('datafile.pk', 'rb')
  a = pickle.load(f)    #在这不知道是什么原因,有时候这样定义的话会报错
  pickle.load(f)        #如果报错的话,就这样来读取
  直接打开二进制文件
  open('datafile.pk', 'rb').read()    #显示的就是一堆二进制数字,而不是插入的数值
  使用struct模块来进行二进制文件的打包和解析
  首先来进行创建
  f = open('data.bin', 'wb')
  import struct
  data = struct.pack('>i4sh',7,'spam', 8)
  f.write(data)
  f.close()
  然后读取
  f = open('data.bin', 'rb')
  data = f.read()
  values = struct.unpack('i4sh', data)   #然后输出values
  新手刚刚开始学习python,如有写错或者写的不好的地方,请大家多多指导!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547498-1-1.html 上篇帖子: python的文件类型、python的变量、python的数值和字符串 下篇帖子: python对mysql的操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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