Python基础内容训练9(文件操作)

文件操作

文件概念
在这里插入图片描述
文件的操作

这个定位是指定位到文件的那一部分

在这里插入图片描述

  • 打开操作的r模式----只读,只能文件进行读操作
    在这里插入图片描述
#1. 打开文件
f = open('a.txt','r') #相当于给文件开了一条管道,或者说接受返回的文件对象
#2. 进行操作
content = f.read()
print(content)
#3. 关闭文件
f.close()

在这里插入图片描述

  • 打开操作的w模式----只写,只能对文件进行写操作

在这里插入图片描述

# 1. 打开文件
f = open('a.txt','w') #相当于给文件开了一条管道,或者说接受返回的文件对象
# 2. 进行操作
f.write('nihao')

# 3. 关闭文件
f.close()

在这里插入图片描述

  • 打开操作的a模式----以追加的方式对文件进行只写操作,并且是在文件末尾进行只写操作

在这里插入图片描述
在这里插入图片描述

# 1. 打开文件
f = open('a.txt','a') #相当于给文件开了一条管道,或者说接受返回的文件对象
# 2. 进行操作
f.write('123')

# 3. 关闭文件
f.close()

在这里插入图片描述

  • 前面的r,w,a可以和b组合

在这里插入图片描述

案例:对图片进行操作

# 1. 打开一张图片,取出内容,获取内容的前半部分
# 1.1 打开文件
f = open('1.png','rb')
# 1.2 读取文件内容
content = f.read()
print(content)
# 1.3 关闭文件
f.close()
# 2. 打开另一个图片,再把取出的前半部分,写入第二个图片中
# 2.1 打开目标文件
f1 = open('2.png','wb')
# 2.2 写入操作
content1 = content[0:len(content) //2]
f1.write(content1)
# 2.3 关闭文件
f1.close()

在这里插入图片描述
从图片结果看,第二张图片是第一张图片的一部分
在这里插入图片描述
在这里插入图片描述

  • 前面的r,w,a可以和b+组合

在这里插入图片描述
r+是既可以读,又可以写的;如果在r+模式先写了两个操作,既有读又有写的操作,读在写前面的话,先读,指针到了最后,写的时候会把内容写在最后面。

文件的定位

  • f.seek(offset,whence) 两个参数一个是开端,另外一个是依据那个参照点的变量
  • f.tell是告诉当前指针位置在哪里

在这里插入图片描述

在这里插入图片描述

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

print(f.tell())
f.seek(2)
print(f.tell())
print(f.read())
print(f.tell())
f.close()

在这里插入图片描述

文件的读操作

在这里插入图片描述

  • f.readline()是读取一行元素
f = open('1.txt','r')

result = f.readline()
print(result)
result1 = f.readline()
print(result1)

f.close()

在这里插入图片描述
这里我们看到每一次输出后下面都有一个空行,这是print函数导致的,我们在print函数后面用end的空字符结尾,不让他换行就可以解决

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

result = f.readline()
print(result,end='')
result1 = f.readline()
print(result1,end='')

f.close()

在这里插入图片描述

  • f.readlines可以自动的将文件按照换行符进行处理,将处理好的每一行组成一个列表返回
f = open('1.txt','r')
content = f.readlines()
print(content)
f.close()

在这里插入图片描述
文件的遍历操作

在这里插入图片描述

import collections
f = open('1.txt','r')
print(isinstance(f,collections.Iterator)) #判断是不是可迭代的
for i in f:
    print(i,end='')
f.close()

f = open('1.txt','r')
content = f.readlines()
for i in content:
    print(i,end='')
f.close()

在这里插入图片描述

  • 判断文件是否可读
f = open('1.txt','w')
if f.readable():
    content = f.readlines()
    for i in content:
        print(i,end='')
f.close()

在这里插入图片描述

  • 读取文件的注意事项:

在这里插入图片描述

文件的写入操作

在这里插入图片描述

f = open('1.txt','a')
if f.writable():
    print(f.write('abc'))
f.close()

在这里插入图片描述

文件的关闭操作

在这里插入图片描述

文件的相关操作

要先导入os模块

  • 重命名操作

os.rename(’原来的文件名’,‘现在的文件名’)
os.renames(和上面一样,只不过如果现在的文件不存在会自动创建)一层一层需修改,多级的进行修改
在这里插入图片描述

  • 删除操作

在这里插入图片描述

  • 创建文件夹

在这里插入图片描述
在这里插入图片描述

  • 查看改变列表目录

在这里插入图片描述

  • 文件的案例:要求把一个文件复制到另外一个文件中

为什么开头要加os模块呢,因为你当前位置不在文件夹呢,想要操作文件夹内的文件就要切换到当前模块下来进行复制操作

import os
os.chdir('file')
#文件的案例,实现文件的复制
# 1. 打开源文件和新文件,源文件可以是只读,新文件可以是追加
source_file = open('1.txt','r')
dis_file = open('1_bat.txt','a')

# 2. 从源文件中读取内容,放入目标文件中
content = source_file.read()
dis_file.write(content)

source_file.close()
dis_file.close()

在这里插入图片描述
在这里插入图片描述
当进行大文件复制的时候,可以一行一行进行复制,下面对一行一行进行复制的时候,要加个循环和判断,对于要复制的内容为0的时候就结束循环

在这里插入图片描述

  • 案例2:文件的分类,根据不同的后缀名对文件进行不同的分类

在这里插入图片描述

# 1. 获取所有的文件名称列表
import os

import shutil
os.chdir('file') #切换到file目录下
file_list = os.listdir('./')
# print(file_list) #列表的形式
# 2. 遍历所有的文件名称
for file_name in file_list:
    # print(file_name)
# 3. 分解文件的后缀名(尤其是最后一个.,比如这种的aa.xx.txt)
    index = file_name.rfind('.')
# 根据这个索引,从当前位置开始取后面的后缀名
    extension = file_name[index+1:] #切片处理取后缀
    print(extension)
# 查看一下,是否存在同名的目录
# 如果不存在,直接创建一个目录
    if not os.path.exists(extension):
        os.mkdir(extension)
    shutil.move(file_name,extension)

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python基础训练90主要是针对Python编程语言的一些基础知识和技巧进行的训练。这个训练主要包括了以下几个方面的内容。 首先,训练90中的内容包括了Python的条件语句和循环语句的使用。学员将通过这个训练来深入了解和掌握Python中的if语句、for循环和while循环的用法。这对于学会编写有逻辑的程序和实现循环操作非常重要。 其次,这个训练还包括了Python中的函数和模块的使用。学员将学习如何定义和调用函数,并且学会使用内置和自定义的模块来扩展Python的功能。通过这个训练,学员将更好地理解函数和模块的作用,提高代码的复用性和可维护性。 此外,训练90还会包括对Python文件的读写操作训练。学员将学会如何使用Python来读取和写入文件,以及如何处理文件中的数据。这对于数据处理和文件操作是必不可少的技能。 最后,训练90还会包括一些其他方面的内容,比如字符串的操作、列表和字典的使用等。通过这些综合性的训练,学员将能够更加全面地掌握Python基础知识和技巧,为进一步的学习和实践奠定坚实的基础。 总结来说,Python基础训练90是一门综合性的训练课程,通过学习和实践,学员将能够对Python编程语言有更深入的了解,并且能够更加熟练地应用Python来解决问题。这会为学员的编程能力提供很好的提升和帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值