liukun2009 发表于 2018-8-6 12:06:00

python元组及文件

  一、元组学习:
  ()            空元组
  t1=(0,)            单个元素的元组
  t2=(0,'Ni',1.2,3)      四个元素的元组
  t2=0,'Ni',1.2,3      另一个四元素的元组
  t3=('abc',('def','ghi'))
  t1      索引
  t3    索引的索引
  t1      分片
  len(t1)      长度
  t1+t2      合并
  t2*3      重复
  for x in t         迭代
  'spam'    in t2    成员关系
  T=(1,2,3,4,5)
  L=列表解析用元组转换
  元组本身不可变,但是对于内容是可变
  >>> T=(1,,4)
  >>> T='spam'
  >>> T
  (1, ['spam', 3], 4)
  二、文件操作学习
  output=open('/tmp/spam','w')    创建输出文件('w'是写入)
  input=open('data','r')      创建输入文件('r'是指读写)
  input=open('data')            与上行相同('r'是默认值)
  aString=input.read()      把整个文件读进单一个字符串
  aString=input.read(N)      读取之后的N个字节到一个字符串
  aString=input.readline()    一行一行的读取
  aaList=input.readlines()    读取整个文件
  output.write(aString)      写入字节字符串到文件
  output.writelines(aList)    把列表内所有字符串写入文件
  output.close()                手动关闭(当文件收集完成时会替你关闭文件)
  output.flush()                把输出缓冲区刷到硬盘中,但不关闭文件
  anyFile.seek(N)                修改文件位置到偏移量N处以便进行下一个操作
  >>> file=open('install.log','w')
  >>> file.write('hello,world\n')
  >>> file.close()
  >>> ofile=open('install.log')
  >>> ofile.readline()
  'hello,world\n'
  >>> ofile.readline()
  ''
  解析操作文件
  >>> X,Y,Z=43,44,45
  >>> S='spam'
  >>> D={'a':1,'b':2}
  >>> L=
  >>> F=open('datafile.txt','w')
  >>> F.write(S + '\n')
  >>> F.write('%s,%s,%s\n' %(X,Y,Z))
  >>> F.write(str(L) + '$' +str(D) + '\n')
  >>> F.close()
  >>> F=open('datafile.txt')
  >>> line=F.readline()
  >>> line
  'spam\n'
  >>> line.rstrip()    去掉文件中多余的行终止符
  'spam'
  >>> F=open('datafile.txt','r')
  >>> line=F.readline()
  >>> line
  '43,44,45\n'
  >>> parts=line.split(',')
  >>> parts
  ['43', '44', '45\n']
  >>> int(parts)
  44
  >>> numbers=
  >>> numbers
  
  >>> F=open('datafile.txt','r')
  >>> line=F.readline()
  >>> line
  "${'a': 1, 'b': 2}\n"
  >>> parts=line.split('$')    用split分割
  >>> parts
  ['', "{'a': 1, 'b': 2}\n"]
  >>> eval(parts)    利用内置函数eval把字符串变成可执行的程序代码
  
  >>> objects=
  >>> objects
  [, {'a': 1, 'b': 2}]
  ##pickle模块存储python原生对象,其实它就像一个数据格式化和解析工具
  >>> F=open('datafile.txt','w')
  >>> import pickle
  >>> pickle.dump(D,F)
  >>> F.close()
  >>> F=open('datafile.txt')
  >>> E=pickle.load(F)    利用pickle在文件中存储字典
  >>> E
  {'a': 1, 'b': 2}
  ##struct模块构造并解析打包二进制数据
  >>> F=open('data.bin','wb')
  >>> import struct
  >>> bytes=struct.pack('>i4sh',7,'spam',8)
  >>> bytes
  '\x00\x00\x00\x07spam\x00\x08'
  >>> F.write(bytes)
  >>> F.close()
  >>> F=open('data.bin','rb')
  >>> data=F.read()
  >>> data
  '\x00\x00\x00\x07spam\x00\x08'
  >>> values=struct.unpack('>i4sh',data)
  >>> values
  (7, 'spam', 8)
  三、其他
  ##比较、相等性、真值:
  “==”    操作符测试值的相等性,python运行相等测试,递归地比较所有内嵌对象
  "is"    表达式测试对象的一致性,python测试二者是否是同一个对象,是否在一个内存地址中。
  python中不同类型的比较方法如下:
  数字通过相对大小进行比较
  字符串是按照字典顺序,一个字符接一个字符地对比进行比较(&quot;abc&quot; < &quot;ab&quot;)
  列表和元祖从左到右对每部分的内容进行比较
  字典通过排序之后的(键、值)列表进行比较
  ##python真假的含义:
  python和大多数程序设计语言一样,整数0代表假,整数1代表真;另外python把任意的空数据结构视为假,
  把任意的非空数据结构视为真;真和假是每个对象的固有的属性,每个对象不是真就是假。
  数字如果非零,则为真。
  其他对象如果非空,则为真。
  “spam”    True
  &quot;&quot;      False
  []      False
  {}      False
  1      True
  0.0      Flase
  None    Flase
页: [1]
查看完整版本: python元组及文件