本文介绍了用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 ")

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与文件进行交互的方法相关推荐

  1. 哪个选项不是python文件打开的合法模式组合_下面代码的输出结果是( ):

    [填空题]Python使用____作为转义符的开始符号. [单选题]本工程墙体做法,以下说法正确的是 ( ) . [多选题]现浇板板上预留的孔洞,说法正确的是( ). [填空题]____符号用于Pyt ...

  2. 大文件传输有哪些方式可用?大文件传输有哪些方式?

    大文件传输有哪些方式可用?大文件传输有哪些方式?互联网时代,速度决定效率.在企业生产过程中需要进行信息数据交换.搬运.这时就需要进行大文件传输.方方面面的行业都要涉及到大文件传输.例如影视行业需要每天 ...

  3. python中文件打开的合法模式组合_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  4. python读取文件的三种方式_python中读取文件的f.seek()方法

    用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...

  5. 执行 Python 程序的三种方式及Python 的 IDE —— `PyCharm`

    执行 Python 程序的三种方式 3.1. 解释器 python / python3 Python 的解释器 # 使用 python 2.x 解释器 $ python xxx.py# 使用 pyth ...

  6. python怎么打开图片_新手教学——python怎么打开图片

    新手教学--python怎么打开图片 发布时间:2020-05-11 17:39:05 来源:亿速云 阅读:248 这篇文章主要介绍了python打开图片的方法,具有一定借鉴价值,需要的朋友可以参考下 ...

  7. mac安装完python怎么打开-MAC中怎么安装python

    转自:https://blog.csdn.net/hou_manager/article/details/79555809 一.Python 介绍 Python介绍 Python3在2008年12月3 ...

  8. anaconda使用python写游戏,python娱乐时间:Anaconda方式搭建python开发环境

    前言python是解释型语言,源码是普通文本,也是它的执行程序.所以商业视觉软件包开发不能用这个. python可以用于工业应用,因为除非你的设备绝密,否则让客户看到源码也无所谓. python用于工 ...

  9. c语言文件打开函数,C语言fopen函数中文件打开方式(参数值)

    满意答案 keaichengb.. 推荐于 2017.09.05 采纳率:40%    等级:12 已帮助:3704人 C语言fopen函数用于打开文件. 函数原型:FILE * fopen(cons ...

最新文章

  1. 公司终于决定放弃微服务传统设计模式,全面拥抱 DDD!
  2. AI人脸识别 生物识别 活体检测 的发展历程
  3. BZOJ 2257: [Jsoi2009]瓶子和燃料
  4. mysql的聚合查询_MySql聚合查询
  5. wap问答系统工作总结
  6. Cloudera maneger登录页面后的操作是什么?
  7. 两个sql交集_如何使用性能分析工具定位SQL执行慢的原因?
  8. SAP CRM PPR调试截图,头都搞大了,希望这问题这辈子只遇到这次
  9. 技术 Leader 怎样带跨一个团队?
  10. linux启动写入了mbr,一、Linux系统启动(MBR)
  11. leetcode951. Flip Equivalent Binary Trees
  12. “咕”了 73 天,何同学终于回归:最喜欢 3D 打印机,但不要买
  13. 7-19 输出全排列 (20 分)
  14. 线性系统理论2 系统状态和状态空间
  15. cissp证书(cissp证书)
  16. python+django酒店客房餐饮管理系统vue源码
  17. QQ语音对方会听到自己电脑声音
  18. 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。VS2019版
  19. 子网掩码是什么,IP段的24是什么写法(CIDR写法,斜杠记法斜线记法)
  20. 程序员眼中的中国传统文化-王阳明《传习录》22

热门文章

  1. linux下dvwa安装教程,在Kali Linux上部署DVWA
  2. byte数组转byte数组 java_Java中文件与字节数组转换
  3. 动态规划算法分析与探究
  4. 计算机学院毕业典礼口号,毕业典礼口号
  5. strus2拦截器中获取客户端ip
  6. php代码的健壮性,代码健壮性的几点思考 - 逍遥客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  7. vega56刷64_Vega56刷入BIOS跑分直逼旗舰Vega64
  8. Latex排列图片:自由定义N行M列的排列方式
  9. python使用正则化预处理数据
  10. Easyconnect mac版本下载地址