首页 > 编程语言 > 详细

python基础入门之十四 —— 文件操作

时间:2020-03-27 17:34:47      阅读:66      评论:0      收藏:0      [点我收藏+]

一、文件的基本操作

1、打开文件

  • open(name,mode)  
  • name-文件名字符串;mode-访问模式

P.s:访问模式

r

只读。文件指针位于文件开头,默认模式

P.s:打开不存在文件报错

rb 二进制打开文件用于只读,文件指针位于文件开头
r+

读写,文件指针位于文件开头

P.s:r+打开不存在的文件报错,同r操作

rb+ 二进制打开文件用于读写,文件指针位于文件开头
w

仅写入,文件指针位于文件开头。

如文件已存在,从开头编辑,会覆盖原内容即原内容删除;如文件不存在创建新文件

wb

二进制打开文件用于写入。

规则同‘w‘。

w+

读写。

写规则同‘w‘

P.s: w+打开文件原内容删除,未写入时直接读取为空,因为w操作会覆盖原内容

wb+

二进制打开文件用于读写

规则同‘w+‘

a

追加,文件指针位于文件结尾。

如文件已存在,从原内容后添加;如文件不存在创建新文件

ab 二进制打开文件用于追加,其他同‘a‘
a+

二进制打开文件用于读写,写规则同‘a‘

P.s:a+未写入时直接读取为空,因为a操作的文件在文件结尾

ab+ 二进制打开文件用于读写,写规则同‘a‘

2、读取文件

read(num)

从头读取,num为读取数据长度,不写默认读取全部

f = open(test.txt, r)
content = f.read(7)  # P.s:换行占据一个字符
print(content)
"""
aaaaa
b
"""
f.close()
readlines()

按行从头读取,读取数据存入列表,每一行的数据为一个元素

f = open(test.txt, r)
content = f.readlines()  
print(content)  # [‘aaaaa\n‘, ‘bbbbb\n‘, ‘ccccc‘]
f.close()
readline()

一次读取一行内容

f = open(test.txt, r)

content = f.readline()
print(content)  # aaaaa

content = f.readline()
print(content)  # bbbbb

f.close()

3、写入文件:f.write()

4、移动光标:f.seek(偏移量,起始位置)

起始位置中:

  • 0:文件开头
  • 1:当前位置
  • 2:文件结尾
f = open(test.txt,r)
f.seek(2,0)
con=f.read()
print(con)
‘‘‘
aaa
bbbbb
ccccc
‘‘‘
f.seek(0)  # seek(0)为seek(0,0)简写
con=f.read()
print(con)
‘‘‘
aaaaa
bbbbb
ccccc
‘‘‘
f.close()

二、应用案例-备份文件:

# 用户输入
old_name = input(请输入需要备份的文件名:)
# 文件名截取名字和后缀,更改为新名字
index = old_name.rfind(.)
if index <= 0:
    print(文件名格式错误!)
else:
    new_name = old_name[:index]+_副本+old_name[index:]
    # 文件写入
    old_file = open(old_name, rb)
    new_file = open(new_name, wb)
    while True:
        content = old_file.read(1024)
        if len(content)==0:
            print(备份成功!)
            break
        new_file.write(content)
    new_file.close()
    old_file.close()

三、文件和文件夹的操作:

1、前提:导入os模块

import os

2、函数

重命名文件、文件夹 os.rename(目标文件名,新文件名)
删除文件 os.remove(目标文件名)
创建文件夹 os.mkdir(文件夹名字)
删除文件夹 os.rmdir(文件夹名字)
获取当前路径 os.getcwd()
改变默认路径 os.chdir(路径)
获取目录下文件列表 os.listdir(目录)

3、应用案例

 

import os
print(os.getcwd())  # 获取当前路径 C:\Users\myUserName\PycharmProjects\demo
os.mkdir(文件夹)   # 新建文件夹
# os.remove(‘文件夹‘) # 删除的是文件夹,报错
os.chdir(文件夹)  # 切换路径
print(os.getcwd())  # 获取当前路径 C:\Users\myUserName\PycharmProjects\demo\文件夹
i = 5
while i > 0:
    open(file + str(i) + .txt, w)
    i -= 1
# 在文件夹下新建file1.txt~file5.txt 5个文件

 

技术分享图片

 

python基础入门之十四 —— 文件操作

原文:https://www.cnblogs.com/LynHome/p/12577773.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!