用python与文件进行交互的方法


Posted in Python onMarch 01, 2018

本文介绍了用python与文件进行交互的方法,分享给大家,具体如下:

一.文件处理

1.介绍

计算机系统:计算机硬件,操作系统,应用程序

应用程序无法直接操作硬件,通过操作系统来操作文件,进而读/写硬件中的文件。

python打开文件过程:

#打开
f=open('a.txt','r')
#通过句柄对文件进行操作
read_f=f.read()
#关闭文件
f.close()
with open('a.txt','r') as f:  #不需要关闭
f.close() #回收操作系统打开的文件
del f #回收应用程序级的变量

2.打开文件的模式

a.打开文本文件

#r,只读模式【默认模式,文件必须存在,不存在则抛出异常】
f=open('a.txt',encoding='utf-8')
data1=f.read()
print(f.readline(),end='')
print(f.readlines())
#w,只写模式【不可读;不存在则创建;存在则清空内容】
f=open('a.txt','w',encoding='utf-8')
f.write('werf')
#a,只追加写模式【不可读;不存在则创建;存在则只追加内容】
f=open('a.txt','a',encoding='utf-8')
f.write('werf\n')

b.对于非文本文件,只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式

with open('1.jpg','rb') as f_read:
  data=f_read.read()
  print(data)
with open('a.txt','rb') as f_read:
  data=f_read.read().decode('utf-8') #解码
  print(data)
with open('a.txt','wb')as f_write:
  f_write.write('adsf'.encode('utf-8'))
'''
练习,利用b模式,编写一个cp工具,要求如下:

1. 既可以拷贝文本又可以拷贝视频,图片等文件


2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target_file
'''
import sys
if len(sys.argv)!=3:
  print('usage:cp source_file target_file')
  sys.exit()
source_file,target_file=sys.argv[1],sys.argv[2]
print()
with open(source_file,'rb')as f_read,open(target_file,'wb')as f_write:
  for line in f_read:
    f_write.write(line)

3.文件内光标的移动

#以文本模式读文件,n代表的是字符的个数
with open('a.txt','r')as f_read:
  data=f_read.read(6)
  print(data)
#以b模式读文件,n代表的是字节的个数
with open('a.txt','rb')as f_read:
  data=f_read.read(6)
  print(data)
# tell:告诉当前光标的位置
with open('a.txt','r',encoding='utf-8')as f_read:
  data=f_read.read(4)
  data1=f_read.tell()
  print(data,data1)
# seek:移动光标(0:文件开头默认;1:文件当前光标;2:文件末尾)
with open('a.txt', 'r', encoding='utf-8')as f_read:
  data = f_read.seek(3)
  data1 = f_read.read()
  print(data, data1)
# 实现tail功能
import time
with open('access.log', 'rb')as f_read:
  f_read.seek(0,2)
  while True:
    line = f_read.readline()
    if line:
      print(line.decode('utf-8'),end='')
    else:
      time.sleep(1)

4.文件的修改

import os

with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
  for line in read_f:
    line=line.replace('alex','SB')
    write_f.write(line)

os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python追加元素到列表的方法
Jul 28 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
Python OpenCV获取视频的方法
Feb 28 Python
用python实现百度翻译的示例代码
Mar 09 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
wxPython之wx.DC绘制形状
Nov 19 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 #Python
python爬取m3u8连接的视频
Feb 28 #Python
python实现m3u8格式转换为mp4视频格式
Feb 28 #Python
浅谈Python中的私有变量
Feb 28 #Python
python中logging包的使用总结
Feb 28 #Python
深入理解Python爬虫代理池服务
Feb 28 #Python
python实现装饰器、描述符
Feb 28 #Python
You might like
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript实现区块链
2018/03/14 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
总结Python编程中三条常用的技巧
2015/05/11 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
Python3生成手写体数字方法
2018/01/30 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
python实现贪吃蛇小游戏
2020/03/21 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
python collections模块的使用
2020/10/16 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
优秀中专生推荐信
2013/11/17 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang