python输入输出简记

python输入/输出
1)输出方式:
  1、表达式语句
  2、print()函数
  3、文件对象的write()(标准输出文件可以用sys.stdout引用)
2)输出格式:
  1、str.format():格式化输出值
    a、括号及其里面的字符(称作格式化字段) 将会被 format()中的参数替换:
      eg:>>> print('{}先森: {}!'.format('yangrongkuan', '就读于华师'))

      #输出:yangrongkuan先森:就读于华师!
    b、在括号中的数字用于指向传入对象在format()中的位置:
      eg:>>> print('{0} 和 {1}'.format('yang', 'rong'))#输出:yang和rong
        >>> print('{1} 和 {0}'.format('rong', 'kuan'))#输出:kuan和rong
    c、如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数:
      eg: >>> print('{name}大哥:{role}'.format(name='杨', role='is a student'))

      #输出:杨大哥:is a student
    d、位置和关键字参数可以任意组合:
      eg:>>> print('学生序列 {0}, {1}, and {a}。'.format('yang', 'rong', a='kuan'))

      #输出:学生列表 yang,rong,and kuan
    e、可选项':'和格式标识符可以跟着字段名。如:将 Pi 保留到小数点后三位:
      eg:>>> import math
        >>> print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))#输出:3.142
    f、在':'后传入一个整数,可以保证该域至少有这么多的宽度。如:
      eg:>>> student = {'yangrongkuan': 1}
        >>> for name, number in table.items():
        ... print('{0:20} ==> {1:10d}'.format(name, number))#保证输出==>前后的宽度
    g、处理很长的格式化字符串,但不想将它们分开, 可通过变量名完成:传入字典,然后使用'[]'来访问键值。
      eg:>>> table = {'yang': 1, 'rong': 2, 'kuan': 3}
        >>> print('kuan: {0[kuan]:d}; yang: {0[yang]:d}; rong: {0[rong]:d}'.format(table))

        #输出:kuan: 3;yang: 1;rong: 2

  2、repr()和str()可以将输出的值转换成字符串。
    区别:repr()可以产生一个解析器易读的表达形式;str()返回一个用户易读的表达形式。
  3、str.rjust():可以将字符串靠右,并在左边填充空格。(ljust,向左对其,在右边补空格;center,让字符串居中,在左右补空格)
  4、str.zfill(width):width指定字符串的长度(包括符号,如小数点,负号等)。原字符串右对齐,会在数字的左边填充0直至到指定width大小,如果原字符串长度已经大于或者等于width的值,则不作任何操作。
    eg:>>> '12'.zfill(5) #输出:'00012'
      >>> '-3.14'.zfill(7) #输出:-003.14
       >>> '3.14159265359'.zfill(5) #输出:3.14159265359
  5、旧式字符串格式化:'%':将左边的参数格式化字符串, 而将右边的代入, 然后返回格式化后的字符串:
    eg:>>> import math
      >>> print('常量 PI 的值近似为:%5.3f。' % math.pi)#输出:常量 PI 的值近似为:3.142。

3)读取键盘输入:input():从标准输入中读入一行文本,默认标准输入是键盘。另外也可以接收一个python表达式作为输入,并将结果输出。
  eg:>>>str = input("请输入:");
    >>>print ("你输入的内容是: ", str)
  输出:
    请输入:yangrongkuan
    你输出的内容是:yangrongkuan

4)读写文件
  1、语法:open(filename,mode):open()将会返回一个file对象:filename表示你要访问的文件名称的字符串值;mode表示打开文件的模式。
  附:mode参数是非强制的。打开文件的模式:('+':追加;'b':以二进制格式打开文件)
    r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
    r+:打开一个文件用于读写。文件指针将会放在文件的开头。((rb+:以二进制格式打开))

    w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除(所有的内容)。如果该文件不存在,创建新文件。(wb:以二进制格式打开)

    w+:打开一个文件用于读写。若该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除(所有的内容)。如果该文件不存在,创建新文件。(wb:以二进制格式打开)

     a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。(ab:以二进制格式打开)

    a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。(ab+:以二进制格式打开)

  实例:
    eg:
      # 打开一个文件
      f = open("D:/test.txt", "w")#直接复制文件所在路径会出现'\','/'的问题,window系统文件的路径是'\'
      f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )
      # 关闭打开的文件
      f.close()
  备注:直接复制文件所在路径会出现'\','/'的问题,window系统文件的路径是'\',python用的也是'\'作为转义字符,所以会导致解析器解析文件路径错误。可以直接将'\'改为'/'即可,或者在含有转义字符的字符串前加'r'表示字符串不作转义处理。

5)文件对象方法
  1、f.read(size):读取文件内容,size是读取数据的数目,若不带参,则默认将文件的所有内容都读取并且返回。
  2、f.readline():从文件中读取单独的一行。换行符为 '\n'。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
  3.f.readlines():将返回该文件中包含的所有行。如果设置可选参数sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。
   或者以迭代访问的方式:
     f = open("D:/test.txt", "r")
     for line in f:
     print(line, end='')
     f.close()
  4、f.write(string) 将 string 写入到文件中, 然后返回写入的字符数。如果要写入一些不是字符串的东西,要先进行转换:
    eg:
      f = open("D:/test.txt", "r")
      value = ('www.runoob.com', 14)
      s = str(value)
      f.write(s)
      f.close()
  5、f.tell():返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
  6、f.seek(offset,from_what)函数:改变文件当前的位置:from_what的值,如果是0表示开头,如果是1表示当前位置,2表示文件的结尾。
    seek(x,0):从起始位置即文件首行首字符开始移动 x 个字符:移动位数不包括自身位置起算:
    seek(x,1):表示从当前位置往后移动x个字符
    seek(-x,2):表示从文件的结尾往前移动x个字符:移动位数包括自身位置起算:
    如:(from_what 值为默认为0,即文件开头。)
      >>> f = open('D:/test.txt', 'rb+')
      >>> f.write(b'0123456789abcdef')#b应该是指代二进制的意思,不算在字符里面
      >>> f.seek(5) #输出:5
      >>> f.read(1) #从当前的位置输出一个字符,输出:b'5'
      >>> f.seek(-3, 2)#移动到文件的倒数第三字节,输出:13
      >>> f.read(1) #从当前的位置输出一个字符,输出:b'd'
  7、f.close():调用 f.close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。

扫描二维码关注公众号,回复: 8275286 查看本文章

猜你喜欢

转载自www.cnblogs.com/yangrongkuan/p/12079616.html