Python对文件操作知识汇总

yipeiwu_com7年前Python基础

打开文件

操作文件

1打开文件时,需要指定文件路径和打开方式

打开方式:

r:只读
w:只写
a:追加

“+”表示可以同时读写某个文件

r+:读写
w+:写读
a+:同a

U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU
r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb
wb
ab

f = open('test.log','r+',encoding='utf-')
f.write('saf中sdhgrbfds')
print(f.tell()) #查看当前指针位置,以字符为单位
f.seek() #指定当前指针位置,以字节为单位
print(f.read())
f.truncate() #读取指针之前的数据
print(f.tell())
f.close()

二:常见的文件运算

f = open('data', 'r') #以只读形式打开(默认就是只读)
f = open('f.txt', encoding='latin-1') #python3.0 Unicode文件
string = f.read() #把文件读入一个字符串中
string = f.read(N) #读取指针后的N个字节
string = f.readline() #读取下一行,包括行末标识符
alist = f.readlines() #读取整个文件到字符串列表
f.write() #将字符串写入文件
f.writelines() #将列表内所有字符串写入文件
f.close() #手动关闭
f.flush() #把输出缓冲区刷到硬盘中
f.seek(N) #将文件指针移到N处,以字节为单位
for line in open('data'):
print(line) #文件迭代器将文件一行行读出
open('f.txt','r').read() #read all at ance into string

三:在文件中存储并解析python对象

x,y,z = 41,42,43
s = 'spam'
D = {'a':1, 'b':2} #字典对象
L = ['a','b','c'] #列表
f = open('f.txt','w')
f.write(s + '\n')
f.write('%s,%s,%s\n'%(x,y,z))
f.write(str(D))
f.write('\n')
f.write(str(L))
f.close()
print(open('f.txt').read()) #将文件内容输出
#从文件中取出数据,并判断其类型
'''
a = fi.readline()
b = fi.readline()
c = fi.readline()
d = fi.readline()

print(a,b,c,d,type(a),type(b),type(c),type(d))
'''
# 从文件中取出数据,并转换为存储前的类型
fi = open('f.txt')
a = fi.readline().rstrip() #rstrip()去掉换行符
print(a,type(a))
b = fi.readline().rstrip().split(',') #字符串的split()方法,在括号中写入分隔符,将字符串分割为列表。
print(b,type(b))
c = fi.readline()
C = eval(c) #调用内置函数eval(),将字符串转化为可执行的python代码。
print(C,type(C),type(c))
d = fi.readline()
D = eval(d)
print(D,type(D),type(d))

以上所述是小编给大家介绍的Python对文件操作知识汇总的相关知识,希望对大家有所帮助!

相关文章

python接口自动化(十六)--参数关联接口后传(详解)

python接口自动化(十六)--参数关联接口后传(详解)

简介 大家对前边的自动化新建任务之后,接着对这个新建任务操作了解之后,希望带小伙伴进一步巩固胜利的果实,夯实基础。因此再在沙场实例演练一下博客园的相关接口。我们用自动化发随笔之后,要想接...

python笔记(1) 关于我们应不应该继续学习python

以前面试的时候会被问到,linux熟不熟呀?对于这种问题:我总会尴尬地回答,“额..了解一点”。   然而,我大学毕业的时候,连linux的虚拟机都没装过,更别提系统熟不熟悉了。虽然我了...

Saltstack快速入门简单汇总

saltstack是使用python编写的开源自动化部署与管理工具,拥有良好的扩展性以及优秀的执行效率,配置简单,可以工作在多平台上,经常被描述为 Func加强版+Puppet精简版。...

如何更改 pandas dataframe 中两列的位置

如何更改 pandas dataframe 中两列的位置

如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置。 原来的 df 是: df = pd.read_csv('I:/Papers/consume...

Python2.x利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands...