码迷,mamicode.com
首页 > 编程语言 > 详细

python全栈开发---文件处理

时间:2018-04-11 15:51:22      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:mil   nis   str   分享   回文   write   操作   int   写的不好   

python文件处理

最近好多同学说不会文件的处理,在这里总结一下文件处理的知识点。

 

一、打开文件,关闭文件

文件的操作采用open()的方法

file = open(filename,mode,encoding)    #打开文件
           
file.close()                  #关闭文件

其中

filename: 要打开的文件路径,mode: 打开文件的模式,encoding:打开文件的编码格式(一般采用utf-8)

打开文件的模式:

 

技术分享图片

注意:filename是文件的路径,当你没有路径只写了一个文件名的时候,默认是在当前文件夹下创建,当你使用绝对路径的时候,记得转译路径中的‘ \ ’

f = open(file=1.txt, mode=w, encoding=utf-8)  #在当前文件夹下创建

#注意绝对路径
f = open(file=C:\\Users\\Administrator\\Desktop\\1.txt, mode=w, encoding=utf-8)

二、常用的方法

# 读文件
f = open(file=1.txt, mode=r,encoding=utf-8)
data = f.read()
print(data)
f.close()

# 循环遍历文件
f = open(file=1.txt, mode=r)
for line in f:
    print(line)

# 写文件
f = open(file=2.txt, mode=w, encoding=gbk)
f.write(学习python.)
f.close()

# 追加模式 这个模式是在以存在的文件的末尾最后继续写入内容
f = open(file=2.txt, mode=a, encoding=gbk)
f.write(学习java.)
f.close()

# 读写模式
f = open(file=2.txt, mode=r+, encoding=gbk)
data = f.read()
print(data)
f.write(\n学习C.)
f.close()

# 写读模式
f = open(file=2.txt, mode=r+, encoding=gbk)
f.write(\n新疆.)
data = f.read()
print(data)
f.close()

# 其他功能
f = open(file=C:\\Users\\Administrator\\Desktop\\1.txt, mode=r+, encoding=gbk)
f.fileno()     # 返回文件句柄在内核的索引值,IO多路复用时用到
f.flush()      # 把文件从内存buffer中强制刷新到硬盘
f.readable()   # 判读文件是否可读
f.readline()   # 只读一行遇到\n \r截止
f.tell()       # 返回当前光标位置
f.seek()       # 移动光标到指定位置
f.seekable()    # 判断文件是否可进行seek操作
f.truncate()    # 按指定长度截断文件*指定长度的话,从开头开始截断, 不指定长度的话,从当前位置到尾部全部去掉
f.writable()    # 判断是否可写

 

 

三、文件修改

 

下面写个简单方法实现文件的修改:

 

# 文件修改
improt os         #这里导入了os模块去改文件名
f_name = C:\\Users\\Administrator\\Desktop\\3.txt
f_new_name = %s.new % f_name
old_str = 新疆
new_str = 北京bj
f = open(file=f_name, mode=r, encoding=gbk)
f_new = open(file=f_new_name, mode=w, encoding=gbk)
for line in f:
    if old_str in line:
        line = line.replace(old_str,new_str)
    f_new.write(line)
os.rename(f_new_name, f_name)

四、使用with操作文件

用with语句来操作,这样就不需要手动来关闭文件了。

# 用with语句打开,不需要在写f.close()
with open(1.txt,r,encoding=utf-8) as f:
    print(f.read())

初入博客园,写的不好请多多指正,如发现问题,我会及时更正,共同进步。

python全栈开发---文件处理

标签:mil   nis   str   分享   回文   write   操作   int   写的不好   

原文地址:https://www.cnblogs.com/zg-wolf/p/8794524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!