Python入门4:文件访问与函数式编程入门

这篇博客介绍了Python中文件的读取和写入方法,包括直接读取、文件迭代器和上下文管理器的使用。同时讲解了二进制文件的处理,并涉及到操作系统交互,如创建、删除目录和重命名文件。最后提到了文件复制的一种实现方式和第三方库shutil。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读取文件操作

一共有三种方式:

1.直接读取:

file1=open(“test.txt”) 默认读操作

file2=open(output.txt","w) 

whilie true:

    line=file1.readline()

     file2.write('"'+flie[:]+'"'+'','')

     if not line:

            break

记得文件处理完之后,关闭

file1.close()

file2。close()


  • read()将文本文件所有行读到一个字符串中。
  • readline()是一行一行的读
  • readlines()是将文本文件中所有行读到一个list中,文本文件每一行是list的一个元素。 优点:readline()可以在读行过程中跳过特定行。

2:文件迭代器,用for循环的方式

file2=open(“output。txt”,“w”)

for line in open("test.txt"):

      file2.write('"'+flie[:]+'"'+'','')


3:文件上下文管理器

用with open 打开文件,优点:自带关闭文件的功能

with open(“somefile。txt”,‘r’) as f:

      data =f。read()


loop整个文档:

with open(“somefile。txt”,‘r’) as f:

     for line in f:

            处理每一行


写入文本:

with open(“somefile。txt”,‘w’) as f:

        f。write(test1)

        f。write(test2)


把要打印的写入文件

with open(“somefile。txt”,‘w’) as f:

    print(line1,file=f)

    print(line2,file=f)


二进制文件的读写

Python 默认读取的都是文本文件,想要读取人进制文件,吧“r”改为“rb”

f=open('edg.jpg','rb')

print(f.read())        # 输出 '\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

简单说就是,任何非标准的文本文件(对于Py2来说,标准是ASCII,对于Py3来说,标准是unicode),你就需要用二进制读入这个文件,然后再用 .decode('...')的方法来解码这个二进制文件

f=open("debf.txt",'rb')

u=f.read().decode('deyuncode')   用原编码的方式再进行解码




文件和目录的操作
基本操作:用Python内置的os模块直接调用操作系统提供的接口函数
import os
os。name
输出:‘

posix           #通过OS告诉我们 我的操作系统的名字。 如果是posix,说明系统是#nix族,如果是nt,就是Windows,还可以用uname()来看具体信息


os。environ   #查看操作系统中定义的环境变量



操作文件与目录

#当前目录的绝对路径

0s.path.abspath('.')

#在某个目录下创建一个新目录

os.path.join('/某路径/..','新文件名称')

或者用mkdir创建

os.mkdir('/users/edc/picture/')

同理删除一个文件

0s.rmdir('/users/edc/picture/')

同理在 拆分路径的时候,不要直接去拆分字符串,使用os.path.split(),将路径拆分为两部分,一般后一部分为最后级别的目录或者文件名称

os.path.split('/users/edc/picture/mp41.mp4')

#('/users/edc/picture/','mp41.mp4')

还可以用os.path.splitext()得到文件的扩展名

用os.rename("jiumingci","xinmingci")进行重命名

删除文件:os.remove("wenjian")

不含直接的复制操作,但是可以使用读入一个文件,再写入一个文件来达到复制的目的,或者使用第三方库:shutil,他提供了copyfile


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值