python中读取文件(路径含中文)出现乱码问题。

在ulipad中写python代码,遇到中文代码乱码问题。贴出代码与异常,python版本3.4
图片说明
图片说明

6个回答

读取的文件不是utf8的,换一个看看

把你的路径字符串从unicode decode成utf8

oyljerry
oyljerry 回复czx2010023346: 你shell中的中文编码是什么
大约 5 年之前 回复
czx2010023346
czx2010023346 'utf8' codec can't decode byte 0x8f in position 7...
大约 5 年之前 回复
czx2010023346
czx2010023346 试过path=unicode(中文路径utf8)和path=中文路径.decode(utf8)的写法,还是报异常,无法用utf8转换,'charmap' codec can't decode byte 0x8f in position 7...
大约 5 年之前 回复
czx2010023346
czx2010023346 试过path=unicode(中文路径utf8)和path=中文路径.decode(utf8)的写法,还是报异常,无法用utf8转换,'charmap' codec can't decode byte 0x8f in position 7...
大约 5 年之前 回复

path = 'Py....' # 下面添加一行
path = path.decode('gbk')

不行的话 ,这样试试
先别加 path = path.decode('gbk')

在 path 后面的值 加上 r 试试
像这样: path = r'Python....py' 再试试

czx2010023346
czx2010023346 >>> path=r"Python文件列表\test.txt" >>> path=path.decode("gbk") >>> file_object=open(path) Traceback (most recent call last): File "<input>", line 1, in <module> IOError: [Errno 2] No such file or directory: u'Python\u6587\u4ef6\u5217\u8868\\test.txt'
大约 5 年之前 回复

最开始添加#coding=utf-8,试试

字符编码问题 path.encode() 试一下

朋友您好,我也遇到了这个问题,对有中文路径的文件进行文件打开操作时,报错说:这个路径不存在。能告诉一下,您最后解决的方法吗?十分感谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python读取中文目录出现乱码

问题是这样的:用python写的程序,去读取一些目录和文件进行处理:比如说其中的中文目录名如下: 示波器,曲线,卡哇伊小屋等等。然后比如示波器文件夹下面有下面文件:0.htm,0.png,示波器.mp4 我写的目录和文件访问程序如下: #根据绝对路径获取目录下面所有的文件的绝对路径,文本信息全部用txt文件,图片信息全部用png文件,视频信息 def getFiles_fromAbsPath(inputDir): curPath = os.getcwd() # 靠必须要拆分成多个路径,否则不能通过 os.chdir(inputDir) #主要是为了获取sequence.txt文件(如果问题是这样的:用python写的程序,去读取一些目录和文件进行处理:比如说其中的中文目录名如下: 示波器,曲线,卡哇伊小屋等等。然后比如示波器文件夹下面有下面文件:0.htm,0.png,示波器.mp4 我写的目录和文件访问程序如下: #根据绝对路径获取目录下面所有的文件的绝对路径,文本信息全部用txt文件,图片信息全部用png文件,视频信息 def getFiles_fromAbsPath(inputDir): curPath = os.getcwd() # 靠必须要拆分成多个路径,否则不能通过 os.chdir(inputDir) #主要是为了获取sequence.txt文件(如果存在的话) textInputDirs = [x for x in os.listdir('.') if os.path.isfile(x) and x.endswith("sequence.txt")] pictureInputDirs = [x for x in os.listdir('.') if os.path.isfile(x) and x.endswith(".png") ] #htm只需要返回0.htm进行处理 htmInputDirs = [x for x in os.listdir('.') if os.path.isfile(x) and x.endswith("0.htm") ] #获取视频的地址 videoInputDirs = [x for x in os.listdir('.') if os.path.isfile(x) and x.endswith(".mp4") ] #print inputDirs realTextInputDirs = [] realPictureInputDirs = [] realHtmInputDirs = [] realVideoInputDirs = [] for path in textInputDirs: realTextInputDirs.append(os.path.abspath(path)) for path in pictureInputDirs: realPictureInputDirs.append(os.path.abspath(path)) for path in htmInputDirs: #realHtmInputDirs.append(os.path.abspath(path)) realHtmInputDirs.append(os.path.join(inputDir , path)) for path in videoInputDirs: realVideoInputDirs.append(os.path.abspath(path)) os.chdir(curPath) sequenceFileName = "" videoFileName = "" if realTextInputDirs: sequenceFileName = realTextInputDirs[0] if realVideoInputDirs: videoFileName = realVideoInputDirs[0] return sequenceFileName,realPictureInputDirs,realHtmInputDirs[0] , videoFileName 但是用0.htm得到的绝对路径去读取该文件的的时候 fr = open(sFileName, "r"),这个sFileName是读取的0,htm的绝对路径,但是发生错误,看了调试信息: ​这个时候文件的路径变成了: 'E:\\MyProject\\SVN_Project\\Drawingboard_local\\model\\mydata\\input\\production\\һ�ɳ���0.htm' 中文的路径:"示波器"没了 正确的路径是: 'E:\\MyProject\\SVN_Project\\Drawingboard_local\\model\\mydata\\input\\production\\示波器\\0.htm' 而且乱码导致了:"示波器"和它后面的"\\"都在一起了,所以读0.htm文件立刻程序崩溃。 我在python文件中加了: # *-* coding: utf-8 *-* import sys reload(sys) sys.setdefaultencoding("utf-8") 还是没有用 朋友们,能指导一下:python如何读取中文目录而不乱码吗,十分感谢

GDAL11.1版本不支持中文路径,读取shp文件属性字段出现乱码

首先读取带有中文路径的shp文件,代码如下: ``` string strShpFullName = @"G:\学习资料\ArcGIS空间数据\ATShp\Boundary\China_Boundary.shp"; //注册Ogr Ogr.RegisterAll(); OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO"); //读取字段属性值时设置,否则有中文乱码 OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "NO"); DataSource ds = Ogr.Open(strShpFullName, 0); if (ds == null) { } Layer layer = ds.GetLayerByName(Path.GetFileName(strShpFullName)); if (layer == null) { } ``` 将“GDAL_FILENAME_IS_UTF8”设置为“NO”,结果DataSource为空,如下图: ![图片说明](https://img-ask.csdn.net/upload/201503/06/1425653245_890557.png) 如果将“GDAL_FILENAME_IS_UTF8”设置为“YES”,DataSource不为空,但是DataSource得属性Name中含有乱码,如下图: ![图片说明](https://img-ask.csdn.net/upload/201503/06/1425653480_717450.png) 这是什么问题??跪求答案。。。。。 第二个问题:读取shp文件的属性表,出现中文乱码,但是我已经设置了“OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "NO");”,为什么还会出现这种问题,在GDAl10.0中就没出现

python2 中tkinter 打开文件 中文乱码

这个程序的目的是写一个文件树软件,通过“打开”button 打开地址对话框,选择文件夹。如果是文件夹 双击则继续打开 如果是文件 双击则打开文件。 (双击打开文件还没写) 现在打开文件夹之后 很多地方显示乱码,而且打开某一个文件并不是马上显示出文件夹中所有文件,需要点进去再退回来才能显示。 现在程序应该有不少错误,一点点改吧。 首先请问大神 怎么解决中文乱码问题? 在运行的时候提示这种错误语言: Traceback (most recent call last): File "D:\Python27\lib\lib-tk\Tkinter.py", line 1547, in __call__ return self.func(*args) File "d:\Untitled-1.py", line 28, in setDirAndGo doLS() File "d:\Untitled-1.py", line 52, in doLS cwd.set(os.getcwd()+'\\'+tdir) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 3: ordinal not in range(128) ``` #!/usr/bin/env python # -*- coding: utf-8 -*- import os from time import sleep from Tkinter import * import tkFileDialog #弹出选择路径的库 import tkMessageBox import fnmatch #选择文件的关键词 def dakai(): dirs.delete(0,END) default_dir = r"C:\Users\lenovo\Desktop" # 设置默认打开目录 path = tkFileDialog.askdirectory(title=u"选择文件", initialdir=(os.path.expanduser(default_dir))) doLS1(path) #双击时调用,双击时,设置背景色为红色,并调用doLS函数打开所选文件 def setDirAndGo(ev=None): last = cwd.get() dirs.config(selectbackground='red') check = dirs.get(dirs.curselection()) if not check: check = os.curdir cwd.set(check) doLS() #实现更新目录的核心函数 def doLS(ev=None): error = '' tdir = cwd.get() if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) #先解码 再编码 bingo! cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') def doLS1(path): error = '' tdir = path if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') top2 = Tk() top2.title('营销集约管控中心-文件树') cwd = StringVar(top2) dirl = Label(top2,fg = 'blue') dirl.pack() dirfm = Frame(top2) dirsb = Scrollbar(dirfm) dirsb.pack(side=RIGHT,fill=Y) dirs = Listbox(dirfm,height=15,width=50,yscrollcommand=dirsb.set) #通过使用List的bind()方法,将鼠标双击事件绑定,并调用setDirAndGo函数 dirs.bind('<Double-1>',setDirAndGo) # 下面实现单击时,将所选文件路径加名字更新到下方输入框控件中,不能用self.dirs.bind('<Button-1>', self.setDirn)绑定单击事件,会出错 #dirs.bind("<<ListboxSelect>>", setDirn) dirsb.config(command=dirs.yview) dirs.pack(side=LEFT,fill=BOTH) dirfm.pack() #第二个框架bfm,放置按钮 bfm = Frame(top2) open = Button(bfm,text='打开',command=dakai,activeforeground='white',activebackground='blue') open.pack(side=LEFT) bfm.pack() if __name__ =='__main__': #设定初始目录为桌面 mainloop() ```

读取python遍历中文目录得到的文件路径报错

各位朋友们好,我是一名python新手,现在遇到一个问题,恳请各位朋友们能指点一下我。 我的环境是:ubuntu14.04系统,python2.7 用python遍历一个目录,目录层次结构如下: 这是主目录: /home/chaoma/superboard/mydata/input/production 主目录下的目录层次结构如下 --超级画板教学资源_全处理_772 -- Z+Z资源库 --初中数学资源库 --1有理数 ---1.1数的分类 -- 0.mp4 -- name.txt …… --2一元一次方程 ….. --动态解析高考数学综合题 --第一章基本函数 --第四节 --06福建理21 --name.txt --0.mp4 --拓展练习4.1 …. --第五节 …… --第二章三角函数 ……. …… --学生作品集合_全处理_52 ……… 我想实现的功能:找到所有含有0.mp4文件的父目录,并读取该父目录下面的name.txt文件 因此我写了以下的遍历函数来实现这一功能: def visitDir_walk(path , sFileSuffix): codedetect = chardet.detect(path)["encoding"] path = unicode(path , codedetect) fileNames = list() for root,dirs,files in os.walk(path): for i in range(0 , len(files)): file = files[i] if file.endswith(sFileSuffix): sFileName = os.path.join(root , file) #这边返回的应该是包含视频文件的父目录,也就是学生作品目录 realFileName = os.path.split(os.path.abspath(sFileName))[0] fileNames.append( unicode(realFileName,”gbk”) ) return fileNames def main(): sProductionInputPath = “/home/chaoma/superboard/mydata/input/production” dir_production_list = visitDir_walk(sProductionInputPath , ".mp4") #拼接name.txt的路径 for dir in dir_production_list: nameFile = os.path.join(dir , "name.txt") fout = codecs.open(nameFile , "w" , "utf-8") #截取出路径中的文件名作为需要的内容,并写入文件 fout.write(os.path.split(path)[1]) fout.close() main() 但是执行之后却报错了,报错如下: fout = codecs.open(nameFile , "w" , "utf-8") File "/usr/lib/python2.7/codecs.py", line 878, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 2] No such file or directory: u'/home/chaoma/superboard/mydata/input/production/\u8d85\u7ea7\u753b\u677f\u6559\u5b66\u8d44\u6e90_\u5168\u5904\u7406_772/\u52a8\u6001\u89e3\u6790\u9ad8\u8003\u6570\u5b66\u7efc\u5408\u9898/\u7b2c\u4e00\u7ae0\u57fa\u672c\u51fd\u6570/\u7b2c\u56db\u8282/06\u798f\u5efa\u740621/name.txt' 打印这个报错的路径得到: /home/chaoma/superboard/mydata/input/production/超级画板教学资源_全处理_772/动态解析高考数学综合题/第一章基本函数/第四节/06福建理21/name.txt 这个文件路径是存在的却报错,不知道为什么。难道是路径是unicode类型就不能识别吗? 恳请各位朋友们能指点我一下,十分感谢。

python3+websocket解析遇到中文乱码

握手成功后前端向服务器发送报文信息,信息内容有中文。解析过程中如何解决乱码问题? msg = decode1(self.conn.recv(1024)) #接收报文 #解析报文 def decode(data): if not len(data): return False length = data[1] & 127 if length == 126: mask = data[4:8] raw = data[8:] elif length == 127: mask = data[10:14] raw = data[14:] else: mask = data[2:6] raw = data[6:] ret = '' for cnt, d in enumerate(raw): ret += chr(d ^ mask[cnt % 4]) return ret

python pyinstaller打包文件,可执行文件中不能出现中文的问题

昨天写了一个爬小说的程序,程序在shell里面可以成功运行,但是经过pyinstaller打包,执行的时候,报一个路径的错误,因为我使用爬到的小说章节名作为文件名,如图 这是在shell里面执行的信息 ![图片说明](https://img-ask.csdn.net/upload/201704/23/1492932078_934521.png) 下面是打包后的执行文件的报错信息 ![图片说明](https://img-ask.csdn.net/upload/201704/23/1492932567_305208.png) 之前以为错误是中文路径的问题,或者编码的问题,多次尝试修改,shell里面依旧可以执行成功,但是用pyinstaller打包后,可执行文件时执行就失败了。网上查到说是因为pyinstaller不支持文件里面有中文,不知道是不是这个原因导致失败, 如果不是的话,原因是什么? 如果是的话应该怎么解决,百度时看到有人说其它几种发布的方式好像对中文也不怎么友好。。。我就想生成一个可执行文件,方便使用

spyder读取文件中文乱码,若文件名为中文则找不到,spyder已汉化。

![图片说明](https://img-ask.csdn.net/upload/202004/10/1586501064_606450.png)![图片说明](https://img-ask.csdn.net/upload/202004/10/1586501073_868075.png)

在使用python读取用WPS打开的csv文件时读取到空白行的问题

在学习《python数据分析基础》2.6节:读取多个CSV文件时发现一个问题,这一节给了一个 脚本用于计算某路径下所有csv文件的行,列数. ``` import csv import sys import os import glob input_path=sys.argv[1] file_counter=0 for input_file in glob.glob(os.path.join(input_path,'sales_*')): row_counter = 1 with open(input_file,'r',newline='') as csv_in_file: filereader = csv.reader(csv_in_file) header=next(filereader,None) for row in filereader: row_counter+=1 print('{0!s}:\t{1:d} rows \t{2:d} columns'.format(\ os.path.basename(input_file),row_counter,len(header))) file_counter+=1 print('Number of files:{0:d}'.format(file_counter)) ``` 原本书中给的数据文件是这样的: ![数据是书上给的,7行5列的数据,csv文件是我自己手动录入的..](https://img-ask.csdn.net/upload/201810/09/1539091373_148586.png) 数据是书上给的,7行5列的数据,csv文件是我自己手动录入的. 由于WPS表格单元格过小,在录入数据后拉伸各行列宽,高: ![有部分空白行被我批量拉伸宽高时选中](https://img-ask.csdn.net/upload/201810/09/1539091495_455630.png) 有部分空白行被我批量拉伸宽高时选中 然后执行脚本,发现被批量拉伸宽高时选中的空白行也被计算入文件的行数: ![图片说明](https://img-ask.csdn.net/upload/201810/09/1539091643_668383.png) 将这些被拉伸宽高的空白行删去后再次执行脚本,结果正常: ![图片说明](https://img-ask.csdn.net/upload/201810/09/1539091724_809323.png) 综上,发现在WPS里打开CSV文件后如果在拉伸各行列的高宽时,选中了没有内容的空白行, 这些空白行会在文件读取对象中被迭代,导致空白行被计算,请问这是为什么?

opencv英文系统读取中文路径的问题

请问各位一个问题,opencv库的函数中,使用的字符串存储是string类型,那么在英文操作系统下使用中文的路径作为图片加载的路径,就会出现乱码,这种情况下,有木有什么好的解决办法呀?

WIN32如何通过对话框选取多个文件并读取文件名?

是读取多个文件的 文件路径 不是单个文件? OpenFileName可以读取一个但是我需要读取多个 谢谢

pydicom解析dcm文件生成数组时运行异常

问题:pydicom解析dcm文件,在dcm.pixel_array 生成数组时程序运行错误,想知道这样的异常怎么解决? 环境:PyCharm+python+win10 文件名称格式:1123243.3234432.a.342.dcm 问题说明:只是部分图片无法解析,并不是所有的dcm文件都会报这种异常 源代码: ``` import shutil import pydicom import os import cv2 import numpy as np def convert_file(dcm_file_path, jpg_file_path): #遍历本地文件路径 for dirs in os.listdir(dcm_file_path): #拼接成绝对路径 dirs = os.path.join(dcm_file_path,dirs) print(dirs) #用pydicom读取dcm文件 dcm = pydicom.read_file(dirs) print(dcm) #获得图像信息 img = dcm.pixel_array #程序运行到此处的时候报错 print(img) # scaled_img = cv2.convertScaleAbs( # img - np.min(img), alpha=(255.0 / min(np.max(img) - np.min(img), 10000))) # print(os.path.join(jpg_file_path,dirs,os.path.basename(dirs))) # new_filename = os.path.join(jpg_file_path, dirs, os.path.basename(dirs).split('.')[0] + '.jpg') # print(new_filename) # cv2.imwrite(new_filename, scaled_img) dstpath = r'D:\test\wandong' srcpath = r'D:\test\jpg02' convert_file(dstpath,srcpath) ``` 运行报错: No available image handler could decode this transfer syntax JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])

有关中文文本分类中用n-gram提高精度的问题

技术小白一个,但是接到一个很具有挑战性的任务是对上万条中文留言进行分类。我首先用网上比较常见的朴素贝叶斯分类器来进行分类,但发现对于短文本精确度并不高。因此想在TF-IDF之后加上n-gram来提高精度。但是python总是读取文件不成功,读出来全是乱码。求大神帮忙解答一下我应该改哪里,问题到底出在哪里?谢谢大家了 import sys reload(sys) sys.setdefaultencoding('utf-8') import re import string import operator def cleanText(input): input = re.sub('\n+', " ", input).lower() input = re.sub('\[[0-9]*\]', "", input) input = re.sub(' +', " ", input) input = bytes(input)#.encode('utf-8') #input = input.decode("ascii", "ignore") return input def cleanInput(input): input = cleanText(input) cleanInput = [] input = input.split(' ') for item in input: item = item.strip(string.punctuation) if len(item) > 1 or (item.lower() == "的" or item.lower() == "啊"): return cleanInput def getNgrams(input, n): input = cleanInput(input) output = {} for i in range(len(input)-n+1): ngramTemp = " ".join(input[i:i+n])#.encode('utf-8') if ngramTemp not in output: output[ngramTemp] = 0 output[ngramTemp] += 1 return output content = _readfile("‘·/train2/train_word_bag/tfdifspace.dat")#这个路径是训练集转成词向量空间后的文件路径,我也不大确定是不是要用这个路径 ngrams = getNgrams(content, 2) sortedNGrams = sorted(ngrams.items(), key = operator.itemgetter(1), reverse=True) #=True print(sortedNGrams)

Python os.listdir()获取的字符串编码问题!

os.listdir()得到的是个list,这个list中的元素(就是字符串)的编码有时是utf8,有时是gb2312,那么这个编码方式是根据什么确定的呢?如果我想让os.listdir()获取字符串的时候以utf8编码,应该怎么设置呢?

用PyPDF2合并多个pdf,试了很多方法都没用,烦请大佬帮忙看看出了什么问题

合并了很多文件夹中的pdf没有问题, 唯独有一个文件夹有问题,请问各位大佬这是出了什么问题?![不能行的文件夹](https://img-ask.csdn.net/upload/202002/13/1581602747_914891.jpg)![报错原因](https://img-ask.csdn.net/upload/202002/13/1581602826_229490.jpg) ``` # -*- coding: utf-8 -*- """ Created on Thu Feb 13 20:47:29 2020 @author: 13638 """ # 利用PyPDF2模块合并同一文件夹下的所有PDF文件 # 只需修改存放PDF文件的文件夹变量:file_dir 和 输出文件名变量: outfile import os from PyPDF2 import PdfFileReader, PdfFileWriter import time # 使用os模块的walk函数,搜索出指定目录下的全部PDF文件 # 获取同一目录下的所有PDF文件的绝对路径 def getFileName(file_dir): file_list = [os.path.join(root, filespath) \ for root, dirs, files in os.walk(file_dir) \ for filespath in files \ if str(filespath).endswith('pdf') ] return file_list if file_list else [] # 合并同一目录下的所有PDF文件 def MergePDF(filepath, outfile): output = PdfFileWriter() outputPages = 0 pdf_fileName = getFileName(filepath) if pdf_fileName: for pdf_file in pdf_fileName: print("路径:%s"%pdf_file) # 读取源PDF文件 input = PdfFileReader(open(pdf_file, "rb")) # 获得源PDF文件中页面总数 pageCount = input.getNumPages() outputPages += pageCount print("页数:%d"%pageCount) # 分别将page添加到输出output中 for iPage in range(pageCount): output.addPage(input.getPage(iPage)) print("合并后的总页数:%d."%outputPages) # 写入到目标PDF文件 outputStream = open(os.path.join(filepath, outfile), "wb") output.write(outputStream) outputStream.close() print("PDF文件合并完成!") else: print("没有可以合并的PDF文件!") # 主函数 def main(): time1 = time.time() file_dir = r'C:\Users\13638\Desktop\Python\7' # 存放PDF的原文件夹 outfile = "Cheat_Sheets.pdf" # 输出的PDF文件的名称 MergePDF(file_dir, outfile) time2 = time.time() print('总共耗时:%s s.' %(time2 - time1)) main() ```

Kaggle 竞赛,在kernel里显示数据,output不能显示全

1. Dataframe 显示很长的所有列,设置pd.max_columns那些参数后,在jupyter里只能显示成这样。没有框线,且还duan'hang ![图片说明](https://img-ask.csdn.net/upload/201907/17/1563332505_980624.jpg) 2.而别人却能显示成这样的,有框线,而且有滚动条 ![图片说明](https://img-ask.csdn.net/upload/201907/17/1563332635_648198.jpg) 3.如何设置呢????

VC6.0 获取设备友好名称 (Friendly Name)

VC6.0编写的dll函数用来获取读卡器设备的友好名称,调试中发现当获取设备硬件ID SPDRP_HARDWAREID 时可以取到,但取设备友好名称SPDRP_FRIENDLYNAME时,却为空,代码如下: int _stdcall GetReaderCardFriendlyName(char *ReaderID) { // BOOL iRet = TRUE; // PDWORD dwBufSize; DWORD actualSize = 0; DWORD dwBufSize = 0; TCHAR dataBuf[MAX_PATH + 1]; // 建立缓冲区以存储设备范例ID; int len = 0; int ReaderNum = 0; GUID ReaderCardClassGuid = {0X50DD5230, 0XBA8A, 0X11D1, {0XBF, 0X5D, 0X00, 0X00, 0Xf8, 0X05, 0Xf5, 0X30}}; //得到一个Class下信息集句柄 m_NewDeviceInfoSet = SetupDiGetClassDevs(&ReaderCardClassGuid, NULL, NULL, DIGCF_PRESENT); //DIGCF_PRESENT (只列出当前存在的设备信息) if(m_NewDeviceInfoSet == INVALID_HANDLE_VALUE) { // wprintf(_T("NewDeviceInfoSet == INVALID_HANDLE_VALUE")); //bRet = FALSE; return -1; } //对得到的此class信息集进行枚举 for(int Device_Index=0; ; Device_Index++) { memset((void*)&(m_ReaderCardDevInfoData), 0, sizeof(SP_DEVINFO_DATA)); m_ReaderCardDevInfoData.cbSize = sizeof(SP_DEVINFO_DATA); BOOL bResult = SetupDiEnumDeviceInfo(m_NewDeviceInfoSet, Device_Index, &m_ReaderCardDevInfoData); if(bResult == 0) { if(GetLastError() == ERROR_NO_MORE_ITEMS) { break; } // *pdwBufSize = Required_Size; } BYTE *pbReuslt = MySetupDiGetDeviceRegistryProperty( SPDRP_FRIENDLYNAME , // SPDRP_FRIENDLYNAME SPDRP_HARDWAREID SPDRP_PHYSICAL_DEVICE_OBJECT_NAME NULL,&dwBufSize); if(pbReuslt) { TCHAR *tcName = (TCHAR*)pbReuslt; free(pbReuslt); } } //销毁一个Class的device information set SetupDiDestroyDeviceInfoList(m_NewDeviceInfoSet); return 0; } BYTE* MySetupDiGetDeviceRegistryProperty( IN DWORD Property, OUT PDWORD PropertyRegDataType , OUT PDWORD pdwBufSize) { DWORD Required_Size = 0; BOOL bResult = SetupDiGetDeviceRegistryProperty( m_NewDeviceInfoSet, &m_ReaderCardDevInfoData, Property , PropertyRegDataType, NULL, 0, &Required_Size); if(!bResult) { if(ERROR_INSUFFICIENT_BUFFER == GetLastError()) { *pdwBufSize = Required_Size; BYTE *PropertyBuffer = (BYTE*)malloc(Required_Size); bResult = SetupDiGetDeviceRegistryProperty( m_NewDeviceInfoSet, &m_ReaderCardDevInfoData, Property , PropertyRegDataType, PropertyBuffer, Required_Size, NULL); if(bResult) return PropertyBuffer; else { free(PropertyBuffer); return NULL; } } else return NULL; } else return NULL; }

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

讲一讲什么是Java内存模型 Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。 这是一个比较开放的题目,面试官主要想考察的是对Java内存模型的了解到了什么程度了,然后根据回答进行进一步的提问 下面,我们就这个问题的回答列一下我们的思路 具体的思路如下: 说一说Java内存模型的缘由 简略辨析...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

立即提问
相关内容推荐