python 处理文档_Python中的文本处理,python,之

文本文件的处理

打开文件

函数:open(filename,mode)

filename => 访问的文件

mode => 访问模式

常见模式

作用

r

只读

r+

读写

w

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

w+

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

a

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

rb

读写

wb

读写

ab

追加和读

2aef75e7cebff74940c33f257c4e2ff3.png

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

然后写一个脚本来读取它

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

print(file.readline())

2070dd4f34f849d8e69bfbcc32dc1673.png

why??

为什么只显示一行

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

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

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

O~

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

a09d82d11b80514eadecb53b6573dfd3.png

使用readlines()的情况

a069acf6b36d7be0b1947b272c7de8a5.png

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

比如:

fed112e6231857654cf61a15a477b4b5.png

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

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

比如:

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

print(f.readlines())

8b54807ccec4c3ef7ac412e88ef50a55.png

da67a46827cc9ffa833514d0857b9f38.png

#coding:utf-8

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

file.write('Are You Ok?')

file.close()

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

51fd5a4fa1875eaf7264f7b0fa256acb.png

追加

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

dcc4a45b21d0642719c3956aa2f86f71.png

1.txt变为了

13ea183d5a654dfb07157a2fbfa3441b.png

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

c92575e6a98bd06f3ce8da1be6dd6b58.png

常见读写类型的区别

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!')

本文已经结束,由于水平有限,在很多地方肯定有些不足之处,如有纰漏或者错误,还请斧正,定当改进。文章写的很不容易,大家的评论和点赞就是我的最大动力,谢谢支持!

2020-03-09

ro4lsc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值