【发布时间】:2012-12-26 21:04:12
【问题描述】:
我正在开发 OSX 10.5.8,它甚至允许文件名字符上出现“/”。
我有一个 wx.TextCtrl 包含一个要读取的目录(音乐艺术家的目录),有这样的乐队叫
- //紧张//
- ///▲▲▲\\
所以在文本字段中我写下一个目录名称,这样写
/Users/....../Music/iTunes/iTunes Music////▲▲▲\\\/Untitled/
当然我读的时候会报错,因为程序无法识别带和斜线的名称,我该如何解决呢?
【问题讨论】:
-
你能给我们输出
os.listdir()的父目录,里面有这样的子目录吗?它会向我们展示使用了什么代码点。 -
也许
ls -b有助于找出它是什么字符。 -
见Mac OS X Lion: What are invalid characters for a file name?;在终端的文件名中使用
:可以在Finder 和iTunes 中显示为/,反之亦然。将/替换为:,你就在那里。 -
这是输出 => Traceback(最近一次调用最后):文件“/Users/.../Documents/python/MusicOrganizer/libs/music.py”,第 105 行,在 handlerAnalyze aListSongs = self.hFileSystemOp.readDirectorySongs(self.sMusicSource) File "/Users/..../Documents/python/MusicOrganizer/libs/files.py", line 80, in readDirectorySongs aListFiles = os.listdir(sDirectory) OSError: [ Errno 2] 没有这样的文件或目录:'/Users/.../Music/iTunes/iTunes Music////\xe2\x96\xb2\xe2\x96\xb2\xe2\x96\xb2\\\\\ \/无标题/'
-
@axel:这不是我要求的;我想要列出
iTunes Music目录。 :-)
标签: macos python-2.7 wxpython special-characters