zoukankan      html  css  js  c++  java
  • Python 1.3 元组与文件

    一 Python元组Tuple类型

          元组T= (1, 2, 3, 4)是不可变类型,属于序列,但顶层元素不可变,仅支持count()和index()操作。

     -*- coding:UTF-8 -*-
    
    # 不可变类型
    T = ( 0, 'Ni', 1, 2, 3)
    T = T + tuple("spam")
    for x in T:
        print(x)
        
    T = [ x*2 for x in T ]
    T = [ x  for x in ['b', 'c', 'a', 'd']]
    T = tuple(T) 
    tmp = list(T).sort() # sort()为列表对象排序操作,不返回值
    print(tmp) # 打印None
    # tuple 仅有两个的操作
    if "aa" in T:
        print( T.index("aa") )
    print( T.count('bb') )
    
    # 元组不可变性只支持顶层
    T = ( 2, 3, [4, 5], 6 )

     

    二 文件类型

           F = open( filename, mode ) ,read(), readline(), readlines(),write(), close()

    # 文件
    myfile = open('myfile.txt', 'w')
    myfile.write("python file text,
    ")
    myfile.write("end of text file.
    ")
    myfile.close()
    # 迭代操作
    myfile = open('myfile.txt', 'r')
    S = myfile.read()
    print(S)
    myfile.close()
    
    for line in open('myfile.txt'):
        print(line, end='')
    myfile.close()    
      
    # 文件存储和解析Python object
    X, Y, Z = 11, 23, 45
    S = 'Spam'
    D = {'a':5, 'c':7}
    L = [ i for i in range(5)]
    F = open("dataFile.txt", 'w')
    F.write( S + '
    ' )
    F.write( "%s,%s,%s
    " % (X, Y, Z) )
    F.write(str(L) + '$'+ str(D) + '
    ') # 对象转化为字符串存储,$区分
    F.close()
    """
     chars = open("dataFile.txt").read()
     print(chars)
    """
    # convert str into  python object
    F = open("dataFile.txt")
    line = F.readline()
    print( line.rstrip() )
    
    line = F.readline()
    numbers = [ int(x) for x in line ]
    print(numbers)
    
    # convert list and dict
    line = F.readline()
    parts = line.split("$") # eval(): convert str into object
    print( [eval(P) for P in parts] ) 
    F.close()

          Pickle持久化存储Python原生对象

    import pickle
    F = open("dataFile.pkl", 'wb')
    D = {'a': 1, 'e': 4, 'b': 2, 'c': 3}
    pickle.dump(D, F) # 对象序列化
    F.close()
    F =  open("dataFile.pkl", 'rb')
    E = pickle.load(F)
    print(E)
    
    # BOOL True Flase 数字0为Flase,其他都为真 空对象都为假
    if bool(1) != bool([]):
        print( bool('spam') )
    if type(1) != type([]):
        print( isinstance([1], list) )
    # 避免循环引用 L = ["refer"] L.append(L) 
    
    # print(value, ..., sep=' ', end='
    ', file=sys.stdout, flush=False)
    a, b, c , *d= [1, 2, 3, 4, 5, 6]
    print(a, b, c, sep=" | ", end ="!n" )
    log = open("textFile.txt", "w") 
    print( a, b, c, d, sep="***", end="
    ", file = log)
    log.close()
    # print函数默认将对象传入到stdout中,显示
    import sys
    sys.stdout.write("Hello
    ")
  • 相关阅读:
    20200116
    20200115
    20191214数组之四:数字不相同的完全平方数(关于数位上数字判断与sprintf)
    结构体与C++sort()函数的用法
    字符串常用函数
    sscanf用法
    螺旋矩阵
    模m的k次根
    梅森素数与完全数
    bit_reverse_swap
  • 原文地址:https://www.cnblogs.com/justLittleStar/p/10546762.html
Copyright © 2011-2022 走看看