文件的操作---(python13)

1. 文件的读取形式

1.文本形式

r以文本打开文件,存在打开成功,不存在失败
w不管文件是否存在都会创建一个新的文件
a打开文件追加,文件不存在,创建文件,文件存在,在最后边进行追加

2.二进制的读取

rb二进制读取
wb二进制写入
ab二进制追加

r + w+ a+ 都有写入的权限

2.文件的读取read()和写入write()

open文件以后操作完成必须close

案例:

file = open('a.txt','rt')
print(file)
file.close()
read()可以定义要读取的字节,一般4096
readline()只读取一行
readlines()读取全部,但是按照行的模式读取
file = open('a.txt','rt')
# content = file.read()
# 指定读取一部分
# content = file.read(6)
# print(content)

# 读取多行
while True:
    # 4096 代表4096个字节
    content = file.read(4096)
    # 如果读取的文件内容为空就结束读取文件
    if content == '':
        break
    print(content,end='')
file.close()
# 其他方式的读取
file1 = open('a.txt','rt')
# 1行读取,
# con = file1.readline()

# 按照行的形式读取整个文件
con = file1.readlines()
for v in con:
    print(v)
    print(v.upper())
# print(con)

file1.close()

写入:

s = 'hello'
file = open('a.txt','w')
file.write(s)
file.close()

3. os模块的一些操作

首先要导入os模块才能进行操作

rename()重命名文件
remove()删除文件
mkdir()创建一个文件夹,已存在会报错
getcwd()获取当前的工作目录
chdir()改变当前工作目录
listdir()查看当前目录下的所有文件名称,list
rmdir()删除文件夹,非空不能删除

案例:

import  os

# 重命名
os.rename('a.txt','b.txt')
# 创建目录 目录存在就会报错
os.mkdir('test_dir')

# 获取当前的工作目录
cwd = os.getcwd()
print(cwd)

# 获取当前的目录下的文件列表
l1 = os.listdir('.')
print(l1)
for c in l1:
    print(c)

# 改变当前的目录
os.chdir('D:\pycharmwork\day01')

# 删除一个文件
os.remove('b.txt')

# 删除一个文件夹,目录不为空不能删除
os.rmdir('test_dir')

4. 练习

4.1 复制一个文件

思路:
1.源文件与目标文件
2.怎么结束读取,读取的内容为空,文本文件为空’’,二进制文件为空要加上b,b’’
3.文件完成以后要关闭

def copy_file(src,dest):
    file1 = open(src,'r')
    file2 = open(dest,'w')
    while True:
        con = file1.read(1024)
        if con =='':
            print('copy ok!!')
            break
        file2.write(con)
    file1.close()
    file2.close()

copy_file('b.txt','b_bak.txt')

4.2 批量的读取文件改名之后复制

'''
改名以后批量复制
'''
import os
import shutil

def copy_file(src,dest):
    # 获取当前的目录
    print(os.getcwd())
    #切换到源文件的目录中
    os.chdir(src)
    # 从原目录读取信息
    file_list = os.listdir(src)
    #创建一个新的目标文件夹
    if os.path.exists(dest):
        shutil.rmtree(dest)
    os.mkdir(dest)

    #循环读取文件
    for file in file_list:
        #遍历每一个文件,改名字
        #分割
        s_file = file.rpartition('.')
        # print(s_file)
        dst_file = dest+'/'+s_file[0]+'_bak'+s_file[1]+s_file[2]
        # print(dst_file)

        #文件的打开
        file_r=open(file,'rb')
        file_w=open(dst_file,'wb')

        #读取内容
        while True:
            con = file_r.read(4096)
            if con ==b'':
                print(f'{src}{file} 复制成功')
                file_r.close()
                file_w.close()
                break
            file_w.write(con)
    print(f'一共复制了{len(file_list)}个文件')
src = 'D:/pycharmwork/copy/a'
dest = 'D:/pycharmwork/copy/b'
copy_file(src,dest)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
opencv-python常用操作包括图像的读取、显示、保存,以及图像的基本处理操作,如灰度转换、裁剪、缩放、旋转等。 下面是一些常用的opencv-python操作: 1. 图像读取:使用cv2.imread()函数读取图像文件,指定文件路径和读取模式。例如:image = cv2.imread('image.jpg')。 2. 图像显示:使用cv2.imshow()函数显示图像,参数为窗口名称和图像数据。例如:cv2.imshow('image', image)。 3. 图像保存:使用cv2.imwrite()函数将图像保存到文件中,参数为保存路径和图像数据。例如:cv2.imwrite('output.jpg', image)。 4. 灰度转换:使用cv2.cvtColor()函数将彩色图像转换为灰度图像,参数为原始图像和转换模式。例如:gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)。 5. 裁剪图像:使用数组切片操作来裁剪图像的特定区域。例如:cropped_image = image[y:y+h, x:x+w]。 6. 缩放图像:使用cv2.resize()函数调整图像大小,参数为原始图像和目标大小。例如:resized_image = cv2.resize(image, (new_width, new_height))。 7. 旋转图像:使用cv2.getRotationMatrix2D()和cv2.warpAffine()函数来旋转图像,分别生成旋转矩阵和应用矩阵。例如:M = cv2.getRotationMatrix2D(center, angle, scale);rotated_image = cv2.warpAffine(image, M, (width, height))。 以上是一些常见的opencv-python操作,可以根据具体需求进行选择和组合使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [如何解决opencv-python,以及opencv-contrib-python包安装运行解决人脸识别问题等问题](https://blog.csdn.net/Go_ahead_forever/article/details/131529050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [opencv-python常用函数汇总](https://blog.csdn.net/qq_45752541/article/details/125037327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安有故里y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值