python IO文件操作 file文件操作

文件的打开和关闭
python提供了必要的函数和方法进行默认情况下的文件基本操作,你可以用file对象做大部分的文件操作
注意点:操作的对象是文件,这里讲解的实例是txt文本文件的操作
 
文件读取都是字符串类型,写入也要以字符串格式
打开文件函数: open(他是一个内置函数,可以直接调用)
语法file object =open(file_name [,access_mode]) ----这里我们会创建一个file对象
各个参数解释如下
file_name:fime_name变量是一个包含了你要访问的文件名称的字符串值
access_mode:acess_mode决定了打开文件的模式:只读 写入,追加等。这个参数是非强制的,默认文件访问模式为只读(r)
 
r   以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w     打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+   打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a     打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+   打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
 
例:f = open('123','r')  
例:
fs=open("C:\Users\Ivan\Desktop\file.txt")              在同一级目录下,可以直接写文件名,不在同一目录下,要写完整路径,必须用\  。open是把文件内容以str文件流的方式读到fs这个池子里面
print(fs.read())     读取所有内
fs.readline() 读取整行,默认起始位置在最开始        用的不多,主要是内存不够读取所有内容时才会用
fs.readlines
读取
print(fs.readlines())                       //遍历文件里所有内容 
for line in fs.readlines():
     print(line)
区别:
.read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。
.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()
 
fs = open("peseoo","w")
zn='''
a meilidezuoguo
a meilidejiangxiang
a meilidediqiu
zaaaaaaaa
'''
fs.write(zn)    写入
fs.write("helflo,hello") 在没有close之前多次调用write都是在最后继续追加内容
fs.close()   一旦关闭之后,再次写入的话前面的内容就会被后面的内容冲掉
fss = open("peseoo","w")   
ab='''
adbd
efsn
sss
'''
fss.write(ab)
fss.close()             
 
fs.write(zn)          fs.write()将字符串写入文件,没有返回值。
fs.close()             fs.close()关闭文件。关闭后文件不能再进行读写操作。关闭时自动保存
追加
fsss=open("peseoo","a")
fsss.write(" my name is zhounuo") 是换行符
fsss.close()
 
文件的读写操作
file对象提供了一系列的方法,让我们实现对文件的读写
read()方法:
1)read(count)方法从一个打开的文件中读取一个字符串
2)里面传递你要读取的字节数
3)如果不传递,默认读取所有数据
4)读完了之后,指针会定位到读完之后的位置‘
 
write()方法
write()方法可将任何字符串写入一个打开的文件
注意write()方法不会再字符串的结尾添加换行符(’ ‘),无法实现自动换行操作
.()writelines :里面传入你要的列表内容,就可以写入多行
fsss=open("peseoo","a")
fsss.writelines([" wo are taliking"," wo are taliking"," wo are taliking"])
fsss.close()
打印结果:
wo are taliking
wo are taliking
wo are taliking
文件对象的属性
一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息
一下是和file对象相关的常用属性列表
file.closed  如果文件已被关闭返回true,否则返回false
flie.mode 返回被打开的文件的访问模式
file.name 返回文件的名称
 
文件定位
1) tell()方法告诉你文件内的当前位置,换句话说,文字会写在上次文字结尾后面
fsss=open("peseoo","a")
fsss.writelines([" wo are taliking"," wo are taliking"," wo are taliking"])
fsss.close()
fsss=fsss=open("peseoo","r")
for line in fsss.readlines():
    print(fsss.tell())
    print(line)
结果:
476
my name is zhounuowo are talikingwo are talikingwo are taliking
 
476
my name is zhounuowo are talikingwo are talikingwo are taliking
 
2)seek(offset[,from])方法改变当前文件位置,offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置
0:参考位置为文件开头
1:参考位置设为当前所在位置
2:参考位置设为文件结尾
 
os模块
一 os模块概述
python os模块包含普遍的操作系统功能,如果你希望你的程序能够与平台无关的话,这个模块尤为重要
 
import os
二 常用方法
1.os.name
输出字符串指示正在使用的平台,如果是window则用’nt‘表示
对于linux/unix用户,它是posix
2.os.getcwd()函数得到当前工作目录,及当前python脚本工作的目录路径   返回当前工作目录
3.os.listdir(path)返回path指定目录下的所有文件和目录名
4.os.mkdir(path)创建一个目录
5.os.remove()删除一个文件
6.os.rmdir()删除一个目录
7.os.makedirs(path)创建一系列目录
8.os.environ("path")获取环境变量值
9.os.system(command)运行系统命令
 
import os
print(os.getcwd())               C:UsersIvanPycharmProjectsgerenxinxi
print(os.name)                    nt
print(os.listdir(os.getcwd()))       ['.idea', 'aaa', 'ddd', 'hanshu.py', 'peseonaninfo', 'peseoo', '个人信息', '作业']
os.mkdir("lianxi")
os.mkdir("D:\ALLY\lianxixi")   在指定目录创建文件
dirs="D:\ALLY\lianxixiI\TT"
print(os.path.exists(dirs))  //判断此路径文件是否存在,创建文件时只能最后一个文件不存在
os.makedirs(dirs) 创建多个文件夹
 
os模块path
os.path.join(path.name)连接目录与文件名或目录
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
os.path.exists()函数用来检验给出的路径是否真的存在
os.path.split(路径)函数返回一个路径的目录名和文件名
os.path.splitxt(路径)分离文件名与扩展名
os.path.dirname(path)返回文件路径
os.path.basename(path)返回文件名
os.path.getsize(name)获得文件大小,如果name是目录返回OL
 
PIL模块应用
以前叫PIL现在叫pillow
安装:安装失败,可能需要FQ,直接安装到lib下面的site-package里面去,执行在线安装命令是pip install pillow
语法:
from PIL import ImageGrab
im=ImageGrab.grab()
im.save(‘thumbnail’.'jpeg')
更详细强大的用法:http://pillow.readthedocs.io/en/4.2.x/

原文地址:https://www.cnblogs.com/nuonuozhou/p/8645070.html