python读取中文路径时出错(2种解决方案)
编码问题可能导致python读取中文路径时出错
解决方法一:路径拆分单独编码
import os root_path = 'E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\'+u'裤子' for file in os.listdir(root_path): print file.decode('gbk')
方法二:对全部路径用unicode格式编码
root_path = unicode('E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\裤子','utf-8')
补充:python读取word路径出错
python读取doc文档不方便,所以上文链接中把doc文件转存成docx,但是我在使用这个代码时,路径一直出错还会报一些奇怪的错误
pywintypes.com_error: (-2147023174, 'rpc 服务器不可用。', none, none)
查询得知这只是一个乱码,指示路径不可用
但我在尝试各种路径的写法后发现都有错误,
遂使用 os.path.abspath的方法获取到绝对路径
rootdir = 'E:\python project\英语六级' def doSaveAas(): word = wc.Dispatch('Word.Application') out_name = filename.replace("doc", r"docx") in_file = os.path.abspath(rootdir + "\\" + filename) out_file = os.path.abspath(rootdir + "\\" + out_name) doc = word.Documents.Open(in_file) # 目标路径下的文件 doc.SaveAs(out_file, 12, False, "", True, "", False, False, False, False) # 转化后路径下的文件 doc.Close() word.Quit()
这样修改之后就好了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
解决python3中cv2读取中文路径的问题
如下所示: python3: img_path = ' ' im = cv2.imdecode(np.fromfile(img_path,dtype = np.uint8),-1) save_path = ' ' cv2.imencode('.jpg',im)[1].tofile(save_path) python2.7: img_path = ' ' im = cv2.imread(img_path.decode('utf-8')) 以上这篇解决python3中cv2读取中文路径的问题就是
-
python3下使用cv2.imwrite存储带有中文路径图片的方法
由于imwrite前使用编码在python3中已经不适用,可用imencode代替,以下代码是从视频中获取第2帧保存在中文文件夹下的实例: cap = cv2.VideoCapture("***.mp4") cap.set(cv2.CAP_PROP_POS_FRAMES, 2) ret, frame=cap.read() cv2.imwrite("我//h.jpg", frame) #该方法不成功 cv2.imencode('.jpg', frame)[1].tof
-
python实现递归查找某个路径下所有文件中的中文字符
本文实例为大家分享了python实现递归查找某个路径下所有文件中的中文字符,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # @ description: # @ author: # @ created: 2018/7/21 import re import sys import os reload(sys) sys.setdefaultencoding("utf8") def translate(str): out = set() line = str.s
-
解决python3 网络请求路径包含中文的问题
在爬一个网站的时候,端点包含中文浏览器是可以自动解决这个转换的,在代码中就需要处理一下了. 请求过程的异常如下: self._output(request.encode('ascii')) UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128) 解决如下: import urllib.parse reqStr = '你好' encodeStr =
-
Python OpenCV读取中文路径图像的方法
引言 这几天做点小东西,涉及到OpenCV读取中文图像的问题 如果直接读取中文路径的图像,往往返回[] import cv2 cv_im = cv2.imread('老干妈.jpg') 缘起 偶然发现opencv 读取图像,解决imread不能读取中文路径的问题文章,代码简单有效,可以参考下文章底部附录 im = cv2.imdecode(np.fromfile(im_name,dtype=np.uint8),-1) 但是作者代码注释中说该方法读取的图像的通道就会变为RGB,但是我实验仍为BGR
-
解决python cv2.imread 读取中文路径的图片返回为None的问题
使用cv2读取图片时,输出图片形状大小时出现报错" 'NoneType' object has no attribute shape",后来排查发现读取图片的返回值image为None, 这就说明图片根本就没有被读取. 下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推. 使用PIL读取图像,能够成功读取图片,借此了解图片的大小和格式,代码如下图所示: cv.imread函数能够成功读取非中文路径的图片,所以就想到是不是中文路径的问题,
-
Python2.7版os.path.isdir中文路径返回false的解决方法
问题背景: 本来想写一个脚本来处理硬盘里的文件,并进行分类处理,但是发现一个问题,使用python内置os模块里的方法出现一些问题,具体的见示例. 主要使用的方法(python 2.7版本) 示例: 在电脑的D盘下建立两个文件夹,并在两个文件夹下分别建立两个文件及目录: a: D:\\test\\test.txt b: D:\测试\测试.txt 分别使用a,b路径来测试os.path的几个方法 #!/usr/bin/env python # -*- coding: utf-8 -*- impor
-
python读取中文路径时出错(2种解决方案)
编码问题可能导致python读取中文路径时出错 解决方法一:路径拆分单独编码 import os root_path = 'E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\'+u'裤子' for file in os.listdir(root_path): print file.decode('gbk') 方法二:对全部路径用unicode格式编码 root_path = unicode('E:\\project\\sk_man-
-
asp.net中url地址传送中文参数时的两种解决方案
在Web.comfig中配置 是一样的: <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 页面Header部分也都有 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 真是奇怪, 只好用了笨办法: 写参数: 复制代码 代码如下
-
python OpenCV的imread不能读取中文路径问题及解决
目录 OpenCV的imread不能读取中文路径问题 OpenCV imread()函数 (从文件加载图像) OpenCV的imread不能读取中文路径问题 import numpy as np import cv2 cv_img = cv2.imdecode(np.fromfile(jpg_path, dtype=np.uint8), -1) # 读取8位图像 OpenCV imread()函数 (从文件加载图像) def imread(filename, flags=None): # rea
-
python读取中文txt文本的方法
对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码. 先用一些编辑器(如editplus )看一下你的txt文件保存的是utf-8,还是gb2312或其他的.当你读行时可以这样 line = (file1.readline()).decode('utf-8').encode('gb2312')或 line = (file1.re
-
基于python 处理中文路径的终极解决方法
1 .据说python3就没有这个问题了 2 .u'字符串' 代表是unicode格式的数据,路径最好写成这个格式,别直接跟字符串'字符串'这类数据相加,相加之后type就是str,这样就会存在解码失误的问题. 别直接跟字符串'字符串'这类数据相加 别直接跟字符串'字符串'这类数据相加 别直接跟字符串'字符串'这类数据相加 unicode类型别直接跟字符串'字符串'这类数据相加 说四遍 3 .有些读取的方式偏偏是要读取str类型的路径,不是unicode类型的路径,那么我们把这个str.enco
-
python读取并显示图片的三种方法(opencv、matplotlib、PIL库)
前言 在进行图像处理时,经常会用到读取图片并显示出来这样的操作,所以本文总结了python中读取并显示图片的3种方式,分别基于opencv.matplotlib.PIL库实现,并给出了示例代码,介绍如下. OpenCV OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS操作系统上. 它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口
-
python读取tif图片时保留其16bit的编码格式实例
tif图片的编码格式一般是16bit的,在使用python-opencv读取tif文件时,为了保留其编码格式,我们需要用以下的方式: import numpy as np import cv2 img = cv2.imread('demo.tif', -1) print(img.dtype) 输出结果为:uint16 对于opencv中imread函数最后的参数解释如下: 当参数>0时,opencv读取的是3通道的彩色图(灰度图也会被默认转化成彩色图),编码格式会转化成8bit 当参数=0时,o
-
python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 for s in str: # 英文 if s in string.ascii_letters: count_en += 1 # 数字 elif s.isdigit(): count_dg += 1 # 空格 elif s.isspace(): count_sp += 1 #
随机推荐
- 详解Go中Map类型和Slice类型的传递
- Angular.js中window.onload(),$(document).ready()的写法浅析
- swift 3.0中实现字符串截取、比较的方法示例
- CSS3+Js实现响应式导航条
- nginx提示:500 Internal Server Error错误解决办法
- iOS开发中Quartz2D绘图路径的使用以及条纹效果的实现
- 老生常谈设计模式之动态代理
- ASP.NET实现页面传值的几种方法小结
- (JS实现)MapBar中坐标的加密和解密的脚本
- 屏蔽相应键盘按钮操作
- Bootstrap进度条与AJAX后端数据传递结合使用实例详解
- thinkPHP5.0框架应用请求生命周期分析
- 如何解决hover在ie6中的兼容性问题
- mysql处理添加外键时提示error 150 问题的解决方法
- PHP中文件上传的一个问题
- PHP准确取得服务器IP地址的方法
- jQuery新窗口打开外链接
- jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
- jQuery初级教程之网站品牌列表效果
- javascript写的一个表单动态输入提示的代码