一、输入输出

  ①输入:input()

  ②输出:print()

1 name=input('请输入名字')
2 print(name)

二、文件操作

  ①打开文件:文件对象=open(文件名,访问模式,buffering)

    文件名:指定要打开的文件,通常需要包含路径,可以是绝对路径也可以是相对路径

    buffering:可选参数,指定文件所采用的缓冲方式,buffering=0,不缓冲;buffering=1,缓冲一行;buffering>1,使用给定值作为缓冲区大小

    访问模式:用于指定打开文件的模式,访问模式的参数表如下

可取值 含义
r 以读方式打开
w 以写的方式打开,此时文件内容会被前清空,如果文件不存在则会创建文件
a 以追加的模式打开,从文件末尾开始,必要时创建新文件
r+、w+ 以读写模式打开
a+ 追加的读写模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开
rb+、wb+、ab+ 以二进制读写模式打开

  ②关闭文件:文件对象.close()

  ③读取文件:

    Ⅰ:str=文件对象.read([b])

    可选参数[b]:指定读取的字节数,默认读取全部

    Ⅱ:list=文件对象.readlines()读取的内容返回到字符串列表中

    Ⅲ:str=文件对象.readline()一次性读取文件中的所有行

    Ⅳ:使用in关键字:for line in 文件对象:处理行数据line

 1 f=open('test.txt')
 2 mystr=f.read()
 3 f.close()
 4 print(mystr)
 5
 6 f=open('test.txt')
 7 while True:
 8     chunk=f.read(10)
 9     if not chunk:
10         break
11     print(chunk)
12 f.close

 1 f=open('test.txt')
 2 mylist=f.readlines()
 3 print(mylist)
 4 f.close()
 5 f=open('test.txt')
 6 while True:
 7     chunk=f.readline()
 8     if not chunk:
 9         break
10     print(chunk)
11 f.close()

三、写入文件

  ①write():文件对象.write(写入的内容)

  ②追加写入:打开文件时可以用a或a+作为参数调用open()然后再写入

  ③writelines():文件对象.(seq)  用于写入字符串序列,seq是个返回字符串序列(列表、元组、集合等)

1 f=open('test.txt','a+')
2 f.write('hello')
3 f.close()
4 f=open('test.txt')
5 for line in f:
6     print(line)
7 f.close()

1 mylist=['hello Jack','hello Salar','hello coffee']
2 f=open('test.txt','a+')
3 f.writelines(mylist)
4 f.close()
5 f=open('test.txt')
6 for line in f:
7     print(line)
8 f.close()

四、文件指针

  ①获取文件指针位置:pos=文件对象.tell()  返回的是一个整数,表示文件指针的位置,打开一个文件时文件指针的位置为0,读写文件是,文件指针的位置会移至读写的位置

  ②移动文件指针:文件对象.seek((offset,where))  

    offset:移动的偏移量,单位为字节,正数时向文件尾方向移动,负数时向文件头方向移动

    where:指从哪里开始移动,0为起始位置,等于1时为当前位置移动,等于2时从结束位置开始移动  

1 f=open('test.txt')
2 print(f.tell())
3 f.close()
4 f=open('test.txt')
5 f.seek(5,0)
6 print(f.tell())
7 f.close()

五、截断文件

  文件对象.truncate([size])  从文件头开始截断文件,size为可选参数,size字节后的文件内容将会被截断丢掉

1 f=open('test.txt','a+')
2 f.truncate(5)
3 f.close()
4 f=open('test.txt')
5 for line in f:
6     print(line)
7 f.close()

六、其他操作

  ①文件属性: 使用os模块的stat()函数一科获取文件的属性,创建时间、修改时间、访问时间、文件大小等属性(使用前要导入模块:import os)

  ②复制文件:使用shutil模块的copy()函数即可,函数原型为:copy(src,dst)表示为把源文件src复制为dst

  ③移动文件:使用shutil模块的move()函数即可,函数原型为:move(src,dst)

  ④重命名文件:使用os模块的rename()函数即可,函数原型为:os.rename(原文件名,新文件名)

  ⑤删除文件:使用os模块的remove()函数即可,函数原型为:os.remove(src)

1 import os
2 import shutil
3 fileStats=os.stat('test.txt')
4 print(fileStats)
5
6 shutil.copy('F:\\python\\book\\ch7\\test.txt','F:\\python\\book\\ch7\\test2.txt')
7 shutil.move('F:\\python\\book\\ch7\\test2.txt','F:\\python\\book\\test2.txt')
8 os.rename('F:\\python\\book\\test2.txt','F:\\python\\book\\test3.txt')
9 os.remove('F:\\python\\book\\test3.txt')

七、目录编程

  ①获取当前目录:os模块的getcwd()函数

  ②获取目录内容:os模块的listdir()函数

  ③创建目录:os模块的mkdir()函数

  ④删除目录:os模块的rmdir()函数

1 import os
2 print(os.getcwd())
3 print(os.listdir(os.getcwd()))
4 os.mkdir('F:\\python\\book\ch7\\he')
5 os.rmdir('F:\\python\\book\ch7\\he')

转载于:https://www.cnblogs.com/caicoffee/p/8955092.html

Python基础10—I/O编程相关推荐

  1. python中0o10_Python基础10—I/O编程

    一.输入输出 ①输入:input() ②输出:print() 1 name=input('请输入名字')2 print(name) 二.文件操作 ①打开文件:文件对象=open(文件名,访问模式,bu ...

  2. python基础教学day20--多任务编程

    一.多任务编程 1.所谓多任务编程就是操作系统可以同时运行多个任务.实质上是每个任务交替执行,每一个任务约执行0.01秒,由于速度太快看着像是所有任务一起执行. 二.多进程编程 1.编写完毕的代码,在 ...

  3. Python基础之 7. 面向对象编程基础

    1. 概述 如今主流的软件开发思想有两种:一个是面向过程,另一个是面向对象.面向过程出现得较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适用于如今主流的大中型项目开发场景.面向对象则出现得 ...

  4. Python基础Pro | (4) 函数式编程

    本文取自廖雪峰Python教程,原文地址https://www.liaoxuefeng.com/wiki/1016959663602400. 目录 1. 前言 2. 高阶函数 3. map/reduc ...

  5. Python基础11-函数式编程与内置函数

    目录 函数即变量 lambda关键字定义匿名函数 高阶函数 内置函数map 内置函数filter 内置函数reduce 内置函数看文档 函数即变量 书接上回,Python里面,函数就是变量,可以被当成 ...

  6. 猪行天下之Python基础——10.1 Python常用模块(上)

    内容简述: 1.time和datetime模块 2.logging模块 PS:如果你想搜索安装某个模块或者发布一个自己的模块可以到移步到:pypi.org/ 1.time和datetime时间模块 ① ...

  7. Python基础10 反过头来看看

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 从最初的"Hello World",走到面向对象.该回过头来看 ...

  8. Python基础(10) - 异常

    Python 异常:程序出现了错误而在正常控制流以外采取的行为 Python中常见的异常: 1. NameError:尝试访问一个未声明的变量 >>> something Trace ...

  9. Python基础之六面向对象高级编程

    '''面向对象高级编程 ''' from enum import Enum'''__slots__限制实例属性定义的属性只对当前类实例起作用,对于继承的子类不起作用''' class Student( ...

  10. python基础语法16-网络编程实操

    网络编程是指在程序中实现两台计算机之间的通信. Python提供了大量的内置模块和第三方模块用于支持各种网络访问,而且Python语言在网络通信方面的优点特别突出,远远领先其他语言. 1.socket ...

最新文章

  1. pymatgen绘制能带态密度图(band+DOS)
  2. 获取init程序的调试信息和uevent的调试信息需要打开的两个宏
  3. 微信公众平台消息接口API指南
  4. springboot开启redis共享session设置过期时间
  5. python nonetype object has no_为什么会出现这个?'NoneType' object has no attribute 'contet
  6. python排序sorted_sorted排序的两个方法 - Python
  7. 投入10个亿,每人奖300万,腾讯给科学界发奖了!
  8. MySQL_数据库表结构的操作
  9. 计算机硬件中英对照,计算机硬件名称中英文对照表
  10. Zabbix(五)利用Zabbix部署onealert云告警平台
  11. 信息学竞赛NOIACM在线评测题库网站精选【翼虎小微整理】
  12. 如何免费pdf全部转化为word版
  13. matlab矩阵逆时针旋转90度
  14. 宝藏下载神器,python一键下载B站视频
  15. 苹果手机更改照片大小kb_iphone6如何用手机查看图片分辨率 大小等属性
  16. proxy chains 配置
  17. 戴尔15pr-2648b true color下载方法
  18. 进军区块链的人人网 现在到底在做什么?
  19. 使用 PyQT5 来做一个简易版库存管理系统(三)
  20. C++ 实现小型图书管理系统

热门文章

  1. 深度图像配准_巧解图像处理经典难题之图像配准
  2. 316.去除重复字母
  3. 常用ajax调用方法,web前端之4种常用的Ajax请求方式
  4. 深度学习框架PyTorch:入门与实践 学习(一)
  5. 最新HoloLens在windows10上的开发配置(1)
  6. 【POJ 1456】Supermarket【并查集】
  7. ehtools:一款WiFi渗透框架
  8. 使用Quartz做定时器
  9. Raki的读paper小记:Empower Entity Set Expansion via Language Model Probing
  10. Raki的读paper小记:Style Transformer