引用路径字符串报错
今天在python2.7 上遇到一个奇怪的错误,从tkinter的输入框接收的一个路径字符
串,打印出来时是正确的,用os.listdir 打印文件列表时报错。
检查了半天才发现原因所在。
又在Python上试了一下,貌似python3的报错提示更加明显一些。
##具体如下:
#Path = enter1.get() tkinter代码省略
#最终从输入框获取的内容如下所示:
Path = “D:\PythonProject\first\n”
#但是直接打印时不会显示换行符,引用Path时一直报错。
#经过很多次的尝试才发现,原来Path 字符串的末尾自带一个换行符
print (“打印Path”,Path)
显示正常
print (“打印Path目录的文件列表”,os.listdir(“D:\PythonProject\first”))
显示正常
print (“直接引用Path:”,os.listdir(Path))
报错
OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: ‘D:\PythonProject\first\n’
#解决办法:replace掉末尾的换行符后,可以正常引用
print (“直接引用Path:”,os.listdir(Path).replace(“\n”,“”))