gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章用python与文件进行交互的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

一.文件处理 。

1.介绍 。

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

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

python打开文件过程:

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

2.打开文件的模式 。

a.打开文本文件 。

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

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

?
1
2
3
with open ( '1.jpg' , 'rb' ) as f_read:
   data = f_read.read()
   print (data)
?
1
2
3
with open ( 'a.txt' , 'rb' ) as f_read:
   data = f_read.read().decode( 'utf-8' ) #解码
   print (data)
?
1
2
with open ( 'a.txt' , 'wb' )as f_write:
   f_write.write( 'adsf' .encode( 'utf-8' ))
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'''
练习,利用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.文件内光标的移动 。

?
1
2
3
4
#以文本模式读文件,n代表的是字符的个数
with open ( 'a.txt' , 'r' )as f_read:
   data = f_read.read( 6 )
   print (data)
?
1
2
3
4
#以b模式读文件,n代表的是字节的个数
with open ( 'a.txt' , 'rb' )as f_read:
   data = f_read.read( 6 )
   print (data)
?
1
2
3
4
5
# tell:告诉当前光标的位置
with open ( 'a.txt' , 'r' ,encoding = 'utf-8' )as f_read:
   data = f_read.read( 4 )
   data1 = f_read.tell()
   print (data,data1)
?
1
2
3
4
5
# 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)
?
1
2
3
4
5
6
7
8
9
10
# 实现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.文件的修改 。

?
1
2
3
4
5
6
7
8
9
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' )

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/hantaozi430/p/8486627.html 。

最后此篇关于用python与文件进行交互的方法的文章就讲到这里了,如果你想了解更多关于用python与文件进行交互的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com