Python基础10—I/O编程

一、输入输出

  ①输入: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

时间: 2024-08-01 00:43:49

Python基础10—I/O编程的相关文章

python基础10

python基础10 昨日回顾: def 函数名(): 函数体 return 返回值 所有的函数  只定义不调用就一定不执行 先定义后调用 函数名()  #不接收返回值 返回值 = 函数名()  #接收返回值 #返回值 #没有返回值:默认返回None #不写return :函数内的代码执行完毕自动结束 #只写return :结束一个函数 #return None #返回一个值:结束了函数且返回一个值,可以是任意的值 #返回多个值:多个值之间用逗号隔开,接收的时候可以用一个变量接受(元祖),也可以

python基础5-面向对象编程

1.类和对象之封装 #方法1 def Bar(): print "Bar" def Hello(name): print "i am %s" %(name) #方法2 class Foo(): def Bar(self): print 'Bar' def Hello(self,name): print "i am %s" %name 对于数据库的增删改查 ####方式1 def fetch(hostname,port,username,passw

python基础之面向对象高级编程

面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有

python基础15(面向对象编程)

虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程. 一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class className: block 注意类名后面有个冒号,在block块里面就可以定义属性和方法了.当一个类定义完之后,就产生了一个类对象.类对象支持两种操作:引用和实例化.引用操作是通过类对象去调用类中的属性或者方法,而实例化是产生

2015/9/18 Python基础(14):函数式编程

这篇写了忘发.现在补上. Python不是也不大可能成为一种函数式的编程语言,但是它支持许多有价值的函数式编程语言构建.也有些表现的像函数式编程机制但是从传统上也不能认为是函数式编程语言的构建.Python提供的以四中内建函数和lambda表达式的形式出现. 匿名函数与lambda lambda [arg1, [arg2, ... argN]]:expression Python允许用lambda关键字创造匿名函数.匿名是因为不需要以标准的方式来声明.然而,作为函数,它们也能有参数.一个完整的l

python 基础 10.0 nosql 简介--redis 连接池及管道

一. NOSQL 数据库简介 NoSQL 泛指非关系型的数据库.非关系型数据库与关系型数据库的差别 非关系型数据库的优势: 1.性能NOSQL 是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL 层的解析,所以性能非常高. 2.可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展. 关系型数据库的优势: 1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询. 2.事务支持使得对于安全性能很高的数据访问要求得以实现.对于这两类数据

Python基础12 - Socket网络编程

一.计算机网络 网络通信要素: 1.IP地址:A.用来标识网络上一台独立的主机 B.IP地址 = 网络地址 + 主机地址(网络号:用于识别主机所在的网络/网段.主机号:用于识别该网络中的主机) C.特殊的IP地址:127.0.0.1(本地回环地址.保留地址,点分十进制)可用于简单的测试网卡是否故障.表示本机. 2.端口号:A.用于标识进程的逻辑地址.不同的进程都有不同的端口标识. B.端口:要将数据发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识.为了方便

python基础10(函数二)

一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> def add(a,b): #这里的a和b是形参 return a+b >>> add(1,2) # 这里的1和2是实参 3 >>> x=2 # 这里的x和y是实参 >>> y=3 >>> add(x,y) 5 二.参数的传递和改变

2015/9/9 Python基础(10):文件和输入输出

文件对象文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问其它任何类型抽象层面上的“文件”.一旦设置了合适的“钩子”,你就可以访问文件类型接口的其它对象,就好像访问的是普通文件一样.文件对象的处理要以来很多内建函数,还有很多函数会返回文件对象或者是类文件对象.进行这种轴向处理的主要原因是许多输入/输出数据结构更趋向于使用通用的接口.这样就可以在程序行为和实现上保持一致性.文件只是连续的字节序列,数据传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成. 文件内建函数[open()和f