python图片(带有中文路径和中文名称的)读写

import cv2
import numpy as np
import os
# 读带有中文路径和中文名称的图片
def cv_imread(file_path):
    cv_img = cv2.imdecode(np.fromfile(file_path,dtype = np.uint8), -1)
    # imdecode读取的是rgb,如果后续需要opencv处理的话,需要转换成bgr,转换后图片颜色会变化
    #cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR)
    return cv_img
# 写入到带有中文路径和中文名称的图片
def cv_imwrite(imPath):
    (filepath,tempfilename) = os.path.split(imPath)   # 分开路径和图片名
    (filename,extension) = os.path.splitext(tempfilename) # 分开图片名称和后缀名
    newresImagePath = filepath + "/a/"
    newresImage = filename + "b" + extension
    newPath = newresImagePath + newresImage
    if not os.path.exists(newresImagePath):
        os.makedirs(newresImagePath)
    cv2.imencode('.jpg', imPath)[1].tofile(newPath) # 写入带有中文路径和中文名称的图片
    return newPath

### Python 文件读写路径处理方法 在 Python 中,文件路径的处理可以通过多种方式进行。以下是几种常见的路径处理方法及其具体实现: #### 使用 `os` 模块处理路径 `os` 模块提供了许多用于操作系统交互的功能,其中包括文件路径的操作功能。通过该模块可以方便地获取目录名、文件名以及拼接路径等。 ```python import os file_path = "/path/to/your/file.txt" directory_name, file_name = os.path.split(file_path) print(f"Directory Name: {directory_name}") # 输出目录部分[^2] print(f"File Name: {file_name}") # 输出文件名部分 ``` 此代码片段展示了如何利用 `os.path.split()` 函数分离给定路径中的目录名称文件名称。 #### 利用 `pathlib` 模块进行更现代化的路径管理 相较于传统的 `os` 模块,`pathlib` 是一种更加面向对象的方式来处理文件系统路径。它提供了一套清晰易懂的方法来进行各种复杂的路径操作。 ```python from pathlib import Path p = Path("/path/to/your/file.txt") parent_directory = p.parent # 获取父级目录 stem_of_file = p.stem # 不带扩展名的文件名 suffix_of_file = p.suffix # 扩展名 print(f"Parent Directory: {parent_directory}") print(f"Stem of File: {stem_of_file}") print(f"Suffix of File: {suffix_of_file}") ``` 上述例子演示了使用 `Path` 对象访问不同组件的能力,比如父目录、不包含扩展名的名字以及实际的扩展名[^3]。 #### 结合上下文管理器完成安全的文件读取与关闭 当执行文件读写时,推荐采用带有自动资源释放机制的上下文管理器 (`with`) 来确保即使发生异常也能正常关闭已打开的文件流。 ```python with open("/path/to/your/file.txt", mode="r+", encoding="utf-8") as f: content = f.read() print(content[:10]) # 显示前十个字符作为示例[^4] ``` 这里展示了一个典型的场景——以可读写模式(`r+`)加载指定位置上的文本型数据,并打印其部分内容。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值