一: 基本IO

1:输入与输出

  • 输入

      input()方法:用于读取键盘输入,以字符串的形式读一行文本input(str()) :函数返回一个用户易读的表达形式input(repr()) :产生一个解释器易读的表达形式- 因此 str() 与 repr() 的不同在于:str() 的输出追求可读性,输出格式要便于理解,适合用于输出内容到用户终端。repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用。
    

  • 输出

      print()方法:用于输出打印内容
    

    -常规输出

      imput() 直接输出未经处理的内容
    

    • 格式化输出

        {字段名!转换字段:格式说明符} :基本格式
      
      • 字段名

          'name is {}, age is {}'.format('peter',25)  #字段名省略、默认按顺序加载'name is {1}, age is {0}'.format(25, 'peter')  #字段名为加载顺序'name is {name}, age is {age}'.format(name='peter',age='25')  # 字段名为变量名
        

      • 转换字段

           s:传递参数之前先对参数调用 str()r:传递参数之前先对参数调用 repr()a:传递参数之前先对参数调用 ascii()
        

        代码:

          '''s:传递参数之前先对参数调用 str()r:传递参数之前先对参数调用 repr()a:传递参数之前先对参数调用 ascii()'''class Person:def __init__(self, name, age):self.name = nameself.age = agedef __repr__(self):return 'Person({0.name!r}, {0.age!r})'.format(self)def __str__(self):return '({0.name!s}, {0.age!s})'.format(self)person = Person('peter', 25)print('this person is {!r}'.format(person))print('this person is {!s}'.format(person))print('this person is {!a}'.format('皮特'))
        

      • 格式说明符

             - 填充与对齐 :[填充字符][对齐方式 <^>][宽度]- 精度与数据类型- 花括号转译
        
        • 填充与对齐 :[填充字符][对齐方式 <^>][宽度]

            # 填充与对齐 [填充字符][对齐方式 <^>][宽度]print("{:*>10}".format(6)) # > 左对齐print("{:&<10}".format(6)) # > 右对齐print("{:@^10}".format(6)) # > 居中对齐
          

        • 精度与数据类型

             - 默认的数据类型是 字符串 s# 精度与数据类型print('{:.5}'.format('人生到处知何似?应似飞鸿踏雪泥') )print('{:.6s}'.format('人生到处知何似?应似飞鸿踏雪泥') )- 进制转换'{:b}'.format(20) # 二进制 '10100''{:o}'.format(20) # 八进制 '24''{:x}'.format(20) # 十六进制 '14'- 浮点数和科学计数法'{:e}'.format(1234567.1234567)    # 科学计数法 '1.234567e+06''{:.2e}'.format(1234567.1234567) # '1.23e+06''{:.3f}'.format(1234567.1234567)  # 浮点数 '1234567.123''{:%}'.format(1)  # 百分数 '100.000000%''{:.0%}'.format(1) # '100%'
          


        • 花括号转译

            # 使用花括号转译花括号print('{{{}}}'.format('人生到处知何似?应似飞鸿踏雪泥'))
          

二:文件file方法

1:打开文件方法

  • open()方法

      open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)参数说明:file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式buffering: 设置缓冲encoding: 一般使用utf8errors: 报错级别newline: 区分换行符closefd: 传入的file参数类型opener:
    

    mode 参数如下:默认为文本模式,如果要以二进制模式打开,加上 b

模式 描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(Python 3 不支持)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

2:读文件方法

file.read([size]) #从文件读取指定的字节数,如果未给定或为负则读取所有。
file.readline([size]) #读取整行,包括 "\n" 字符。
file.readlines([sizeint]) #读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区



3:写文件方法

file.write() :#方法用于向文件中写入指定字符串:返回写入字符串的长度
file.writelines(sequence):#向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符

4:file对象

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

序号 方法 描述
1 file.close() 关闭文件。关闭后文件不能再进行读写操作。
2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
3 file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
4 file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。
5 file.next() Python 3 中的 File 对象不支持 next() 方法。返回文件下一行。
6 file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。
7 file.readline([size]) 读取整行,包括 “\n” 字符。
8 file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
9 file.seek(offset[, whence]) 移动文件读取指针到指定位置
10 file.tell() 返回文件当前位置。
11 file.truncate([size]) 从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。
12 file.write(str) 将字符串写入文件,返回的是写入的字符长度。
13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

python3基础系列之六【输入输出file方法】相关推荐

  1. 【Lua基础系列】rawset rawget方法

                  [Lua基础系列]rawset & rawget方法     大家好,我是Lampard~~     欢迎来到Lua基础系列的博客 前文再续,书接上一回.今天和大家 ...

  2. python3 基础教程: 文件read方法(read、readline、readlines)

    python3中,读取文件有三种方法:read().readline().readlines(). 此三种方法,均支持接收一个变量,用于限制每次读取的数据量,但是,通常不会使用. 本文的目的:分析.总 ...

  3. java corba_Java基础系列之六:CORBA入门示例

    1.概述 CORBA: Common Object Request Broker Architecture. CORBA是一套标准,包含了相关的API以及通信协议的定义,开发者据此可以实现一种与Web ...

  4. 线程基础知识——Windows核心编程学习手札系列之六

    线程基础知识 --Windows核心编程学习手札系列之六 线程与进程一样由两部分构成:一是线程的内核对象,操作系统用它来对线程实施管理,也是系统用来存放线程统计信息的地方:二是线程堆栈,用于维护线程在 ...

  5. .NET 并行(多核)编程系列之六 Task基础部分完结篇

    .NET 并行(多核)编程系列之六 Task基础部分完结篇 前言:之前的文章介绍了了并行编程的一些基本的,也注重的讲述了Task的一些使用方法,本篇很短,将会结束Task的基础知识的介绍. 本篇的主要 ...

  6. 1.5 编程基础之循环控制 45 金币 方法二(python3实现)

    OpenJudge - 45:金币 信息学奥赛一本通(C++版)在线评测系统 ​​​​​​[NOIP2015 普及组] 金币 - 洛谷 1.5编程基础之循环控制_45金币 https://blog.c ...

  7. 【javascript基础——系列10】js中隐藏元素的几种方法以及代码

    系列文章 [javascript基础--系列1]前端页面ajax连接后台服务器传输数据 [javascript基础--系列2]前端页面axios连接后台服务器传输数据 [javascript基础--系 ...

  8. Python3 基础语法

    Python3 基础语法 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- coding: ...

  9. python 基础系列(二) — Python基本语法

    python 基础系列(二) - Python基本语法 python基础系列索引 python 基础系列(一) - Python介绍 python 基础系列(二) - Python基本语法 pytho ...

最新文章

  1. 产品开发的 11 宗罪
  2. python代码写完怎么运行-教你如何编写、保存与运行 Python 程序
  3. 一个openMP编程处理图像的示例
  4. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解
  5. typescript get方法_使用 Typescript 构建类型安全的 Websocket 应用
  6. VMware发布虚拟云网络创新技术,连接和保护分布式多云企业
  7. java知识点八:时间日期类
  8. 软件工程学习总结(2)——大部分的软件工程其实就是管道作业
  9. Android 给TextView中的字体加上“中间线”
  10. 关于XML序列化与CultureInfo
  11. python培训班靠谱吗-什么样的python培训机构靠谱?
  12. 创业记-我的技术选型
  13. Flink 动态配置(参数 算子 CEP)
  14. 离散数学考点之度序列简单图化
  15. 浅谈 Office 2013 App
  16. 人工智能对生活有哪些方面影响?
  17. 云原生究竟怎么落地?
  18. 揭秘小程序上线不到一周,每天2万销售额,究竟怎么做到的?
  19. securecrt启动mini2440卡在Please press Enter to activate this console问题已解决
  20. jmeter“察看结果树”显示的请求数不全

热门文章

  1. 苦练基本功《如何阅读看懂一篇Datasheet》
  2. 怎么查看CAD图纸并更改图纸背景颜色?
  3. 换了5G手机不会用5G网络?赶快来补课!
  4. android 里面的颜色的RGB
  5. 【OpenCV+Qt】实现简易视频播放器——支持进度条拖动
  6. 老闪创业那些事儿(4)——A轮融资的选择
  7. 超硬核!操作系统学霸笔记,考试复习面试全靠它
  8. pkpm板按弹性计算还是塑性_请教:筏板是按弹性算法?还是塑性算法?那个好些?...
  9. Keras区分狗和猫
  10. 【spring aop】连接点(Jointpoint)、切入点(Pointcut)、增强(Advice)、方面/切面(Aspect、Advisor)