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

Posted zg-wolf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python全栈开发---文件处理相关的知识,希望对你有一定的参考价值。

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全栈开发---文件处理的主要内容,如果未能解决你的问题,请参考以下文章

python全栈开发-Day7 文件处理

Python全栈开发:Javascript

Python全栈开发基础四

Python全栈开发之异常处理

Python全栈开发,Day6 - 模块学习

python全栈开发day24-__new____del__item系列异常处理