文本文件的处理

打开文件

函数:open(filename,mode)

filename => 访问的文件

mode => 访问模式

常见模式

作用

r

只读

r+

读写

w

只写 文件存在则覆盖,不存在则创建

w+

只写 文件存在则覆盖,不存在则创建

a

追加 文件存在追加到已有内容后

rb

读写

wb

读写

ab

追加和读

python 清除word文件空行 python删除文档中的内容_python 清除word文件空行

比如我在这里先编辑了一个1.txt

然后写一个脚本来读取它

file=open('1.txt','r')

print(file.readline())

python 清除word文件空行 python删除文档中的内容_文本文件_02

why??

为什么只显示一行

read 读取整个文件,每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说内容是一个字符串类型。

readline 读取下一行,每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型。

readlines 读取整个文件到一个迭代器以供我们遍历,每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型。]

O~

这下就明白了,所以咱们使用read()

python 清除word文件空行 python删除文档中的内容_python 清除word文件空行_03

使用readlines()的情况

python 清除word文件空行 python删除文档中的内容_字符串_04

其实它也是可以像read()一样输出

比如:

python 清除word文件空行 python删除文档中的内容_python 处理文档_05

那么这里我也就不多举例了哈,有兴趣的可以自己动手研究一下~

当然,还有另一种表示的方法

比如:

with open('1.txt','r') as f:

print(f.readlines())

python 清除word文件空行 python删除文档中的内容_python 清除word文件空行_06

python 清除word文件空行 python删除文档中的内容_python 处理文档_07

#coding:utf-8

file=open('1.txt','w')

file.write('Are You Ok?')

file.close()

可以看到1.txt已经变成了刚刚写入的内容

python 清除word文件空行 python删除文档中的内容_文本文件_08

追加

可以发现,刚刚咱们写的都已经被覆盖了。所以咱们得使用到a这个模式追加

python 清除word文件空行 python删除文档中的内容_python 处理文档_09

1.txt变为了

python 清除word文件空行 python删除文档中的内容_python 清除word文件空行_10

这里咱们没有换行,加个换行符\n就可以了

python 清除word文件空行 python删除文档中的内容_python 清除word文件空行_11

常见读写类型的区别

r只读,r+读写,若文件不存在会报错并不会创建新文件
w,只写,文件不存在会创建新文件,w+读写,文件不存在会创建新文件,两种方法使用的时候都会将文件内容先清零。
a,a+同样会创建新文件
文件夹的处理和操作
os模块提供了一个操作系统接口函数,通过os模块可以对系统中的文件,目录等进行操作
os.mkdir
os.rmdir
os.path.exits(‘C:/’)
os.rename(‘1.txt’,‘1.py’)
os.remove(‘1.py’)
os.getcwd()
一个例子
#coding:utf-8
import base64
import sys
'''
加密脚本
用法:python base64encode.py 需要加密的文本 加密后的文本
'''
with open(sys.argv[1],'rb') as file1:
list = [base64.b64encode(i) for i in file1]
'''
for i in file1:
list.append(base64.b64encode(i))
'''
with open(sys.argv[2],'wb') as file2:
for line in list:
''' 逐行读取'''
file2.write(line+b'\n')
file2.close()
print('success!')