美文网首页
python 03文件操作

python 03文件操作

作者: 6c0fe9142f09 | 来源:发表于2018-06-20 14:21 被阅读3次

文件打开操作

f = open('test.txt','w',encoding='utf-8') #读写默认是r
# w/w+的读写模式会清空文件,指针是在开头的
# r/r+文件指针在最前面
# a/a+文件指针在末尾
# 使用With打开多个文件,并且可以自动对文件进行关闭
with open("回顾.py",encoding='utf-8') as fw,open("回顾.py",encoding='utf-8') as fw2:
    f.read()
    f.write("大树")

文件常用操作

# 读
f.read()   # 将文件中的所有内容读取出来
f.readline()    # 读取文件中的一行
f.readlines()   # 读取文件里面所有的内容,返回的时一个list,每一行的内容放到一个list钟

# 常用操作 - 读取每一行的数据
for line in f.readlines():
    print line
# 写
f.write("大树\n")

list = ["大树1\n","大树2"]
f.writelines(list )  # 将list中的每一个参数写到文件中
# 等价于下面的代码
for s in list:
    f.write(i)

# 又是我们调用f.write()函数,再去文件查看可能并不会立刻查看到内容,这是由于文件中存在缓冲区,所以不是每次write只有都会写入到文件中
# 这时候可以使用fw.flush()函数把缓冲区的内容立即写入到磁盘中
f.flush()
# 清理
# 使用f.truncate()函数可以将整个文件清空,我们一般配合f.seek(0)将文件指针一定到文件开头,然后执行清空动作
f.truncate()

文件指针
需要注意的是,进行文件操作的时候是存在文件指针的

f = open('username.txt',"r",encoding='utf-8')
print(f.read()) # 此时文件指针已经移动到最后
print(f.read()) # 所以第二次第二次输出为空

f.seek(0) # 使用seek()函数将指针移动到开头

进阶操作--文件修改的两种操作

# 文件修改
# 1、简单粗暴直接
#     1、先获取到文件里面所有的内容
#     2、修改内容
#     3、清空原来文件中的内容
#     4、写入修改的内容
#     5、数据量小的时候可以采用这种方式

f = open('file.txt','a+',encoding="utf-8")
f.seek(0)
all_data = f.read()
new_data = all_data.replace("你","you")
f.seek(0)
f.truncate()    #清空文件内容
f.write(new_data)
f.close
# 2、高效的处理方式
#     1、打开excel文件的时候会有一个隐藏文件,那个隐藏文件就是为了修改原文件了
#     2、先打开原来的文件,再打开一个空文件
#     3、循环处理原来文件里的每行数据,处理完后写入到新文件里
#     4、把原来的文件删除,把新文件的名字改为原来文件的名字
import os
# 把歌词前面的空格、去除空行、你换成you
with open('file.txt',encoding='utf-8') as fr,open(".file.txt",'w',encoding='utf-8') as fw:
    for line in fr:
        line = line.lstrip()
        if line:
            line = line.replace('你','you')
            fw.write(line)

os.remove('file.txt')
os.rename('.file.txt', 'file.txt')

实战练习

# 对file.txt中的数据进行筛选,省略**以数字开头的数据并在末尾添加@163.com**
# file.txt文档
1GmSluQ
owhMb7k
QD8wStm
o1ASe8x
muPoYv9
7vUqAIX
26OEwAz
imSVgHR
p08TrGf
dIL9Xpy
JfM49gr
CXgny8Q
GaRPvXS
blNvmrp
zrID2Wh
zWmfP1c
bPw6yYU
PnDTMac
idlDgHC
lLO6Bev
egl7Hnx
G1bacTQ
xi7GOlt
fgeqYbP
WATwhPG
dbQM9uV
HJqZeh4
nU6Q3bk
et6Odij
xZ93fv7
6Xkn4iv
Fjhdszu
q4oZcWn
o58MZB6
1DvVOc8
2Inx0lc
XYROn5W
e7nKGgp
BcrGSJR
ET9uAdz
IxcSKZ8
3VcdoJ9
VBYNhKt
1DkAnaG
w6WarX1
82Vgt0m
eMrQhUA
uxNwTZm
Im2KefJ
aVkexK2
7LPOphv
eLF93DE
9VG7IXy
Xq5mURw
rO7R526
dcOt9uo
fMsaDyW
5epdhwA
ARKnFWc
Re3V9qd
hK9pXto
TWwzyta
c4umDOo
n27Khmz
GCQuW5w
KWPcNdC
xv9Tz2L
l6ou8y7
KItcVba
xqFVz9H
5CS1R0s
9XyaPQ0
uzsXafg
PY6Jf0l
1tsZ7Iy
zbEns8N
1sJR5Za
t1YmLI3
wi6La1S
N7J6kcO
jkFDV4r
8IERJS5
K3f4NxV
NWMZF7t
1ozmZjT
z3yW5Ra
4XRYauq
8l9UYOD
owgOvNI
ag2hEQ7
scgTC1z
uGArQgc
SyNpv8w
BnbmNDW
UQMZpj2
jpFBRNv
UsbfMjR
qaXhPy6
H2fj3LY
# 答案
import os

with open('email.txt',encoding='utf-8') as fr,open('.email.txt','w',encoding='utf-8') as fw:
    for line in fr:
        if not line[0].isdigit():
            line = line.strip() + "@163.com\n"
            fw.write(line)

os.remove("email.txt")
os.rename(".email.txt","email.txt")

相关文章

  • 14.Python之文件操作

    Python之文件操作 文件操作通过Python中的内置函数open()对文件进行操作。文件操作需要如下几个参数:...

  • 第二节课:Python 操作文件 ——软件测试派

    学习目标:掌握 python 操作文件 python 提供内置函数 open()实现对文件的操作。 python ...

  • mac 电脑开启文件共享服务

    使用mac自带的Python 2.7命令快速共享本地文件.操作步骤 1.打开电脑终端屏幕快照 2019-03-21...

  • Python遍历目录并操作文件

    今天来使用python操作文件,包括根据模式查找文件、删除文件操作。 完整代码托管在python/find...

  • 解析Python中的文件操作

    1.简介 在Python中无需引入额外的模块来进行文件操作,Python拥有内置的文件操作函数(除了内置文件操作函...

  • Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 sh...

  • Python

    Python 创建文件 Python 对数据库进行操作--增删改查 Python 对csv进行操作 Python ...

  • python常用文件操作总结

    python 移动文件或文件夹操作。python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法...

  • python--文件的基本操作

    python编程中,文件是必不可少的。下面我们来学习python中文件的基本操作。 文件的基本操作: 在pytho...

  • 自学Python:安装Python编程软件Pycharm

    01.安装说明 02.文件下载 03.如何合理合规长期免费使用操作说明 01.安装说明 自学Python先要安装好...

网友评论

      本文标题:python 03文件操作

      本文链接:https://www.haomeiwen.com/subject/ydjfeftx.html