我使用两个不同的脚本。在第一个,有这样的事情:
f = open(filename, 'r')
file, file_ext = os.path.splitext(filename)
thumb=open(file +"_thumb.txt","w")
for line in f:
array = line.split(',')
a = str(array[0])
t=a[11:14]+ "\\" + a[15:19] + "\\" + (a[11:])+".jpg" +"\n"
thumb.write(t)
thumb.close()
在第二个:
Dirname = str(self.lneDirIn1.text())
f=open(file +"_thumb.txt","r")
for line in f:
line=str(line)
print(line)
cl_img_path=os.path.normpath((os.path.join(Dirname,line)))
print(cl_img_path)
cl_img=Image.open(str(cl_img_path))
当我运行第二个时,出现错误,因为os.path.join
实际上加入了" \ n"该行,因此cl_img
无法打开。但是,当我打印"线"单独,它不会显示' \ n'
这是错误:
Traceback (most recent call last):
File "./midas/mds_central_line_thumbs.py", line 118, in pbtOKClicked
self.process()
File "./midas/mds_central_line_thumbs.py", line 105, in process
cl_img=Image.open(str(cl_img_path))
File "C:\0adtoolsv2\libs\Python27\lib\site-packages\PIL\Image.py", line 1952, in open
fp = __builtin__.open(fp, "rb")
IOError: [Errno 22] invalid mode ('rb') or filename: 'k:\\SBU_3\\USA\\PIO2015\\04-TEST-SAMPLES\\USCASFX1608\\D16MMDD\\B3\\Images\\051\\0151\\051_0151_00021466.jpg\n'
我希望我的第二个剧本没有采用" \ n" (打开文件时)(在第一个脚本中必需)
非常感谢Guillaume。
答案 0 :(得分:1)
如何剥离" \ n"在读这条线的时候?
line=str(line).strip()
或者加入路径?
cl_img_path=os.path.normpath((os.path.join(Dirname, line.strip())))
或者在打开图像时?
cl_img=Image.open(str(cl_img_path).strip())
答案 1 :(得分:0)
你可以简单地使用:
lines = file.read().splitlines()
for line in lines :
print line #Wouhou, no \n