我试图分裂的路径来获取文件,该字符串的最后部分的名称拆分一个字符串,我处理,我不能够解决一个问题:反斜杠
我的字符串:te = 'C:\Users\Desktop\TEST\Excel_Reports\1837.xlsx'
我已经这样做了:
>>> te.split('\\')
['C:', 'Users', 'Desktop', 'TEST', 'Excel_Reports\x01837.xlsx']
>>> te.split('\\')[-1]
'Excel_Reports\x01837.xlsx'
我不知道什么是\0
或\number
这个问题....是它的任何特殊字符的Python?
这里是我想获得:
['C:', 'Users', 'Desktop', 'TEST', 'Excel_Reports', '1837.xlsx']
但我不能得到完全此。
PD:不是一个像file_name = te [-5:-1]这样的有效解决方案,因为excel文件的名称可以在任何时候都不同,但始终是数字。
编辑:显示我如何得到te
folder = QtGui.QFileDialog.getExistingDirectory(None, "Load excel")
for f in os.listdir(folder):
if f.endswith(".xlsx"):
te= os.path.join(str(folder),str(f))
#bla, bla, bla,......
编辑:
感谢所有的答案和意见,他们指出我在正确的方向。
不过,我解决了这个问题,只是通过更换这行:
te= os.path.join(str(folder),str(f))
这一个:
te = os.path.join(folder,f)
然后,这个工程:
te.split('\\')[-1].split('.')[0]
的名字命名(数量)没有扩展名的文件xlsx
您应该使用原料字符串'r'...''在处理\时可以转义某些字符,例如'\ n'是“新行”。 – Ffisegydd 2014-10-28 09:44:20
你知道正斜杠在窗口中正常工作,并回避这些问题。 – 2014-10-28 09:45:20
谢谢Ffisegydd ......我不知道你的意思是“原始弦”......但我会调查。感谢您指出 – codeKiller 2014-10-28 09:47:24