這是該文件存在:轉義Python中別名的空格?
~/Library/Application Support/Something/something.sqldb
這是我的命令來訪問文件:
connect('~/Library/Application\ Support/Something/something.sqldb')
的命令不起作用,因爲該文件,something.sqldb,無法找到。任何想法如何解決這個問題?
感謝您的幫助!
這是該文件存在:轉義Python中別名的空格?
~/Library/Application Support/Something/something.sqldb
這是我的命令來訪問文件:
connect('~/Library/Application\ Support/Something/something.sqldb')
的命令不起作用,因爲該文件,something.sqldb,無法找到。任何想法如何解決這個問題?
感謝您的幫助!
如果使用單引號,如果使用反斜槓,則不會轉義空格。使用雙引號
connect("~/Library/Application\ Support/Something/something.sqldb")
如果您使用Python,您可以使用expanduser把字符串轉換成你的connect
語句之前
connect (os.path.expanduser("~/........"))
'''和''在Python中完成同樣的事情,你在考慮Perl。 – geoffspear
@Wooble,你確定嗎? – ghostdog74
那麼,除非文檔說謊,是的,我還沒有閱讀解析器的源代碼,儘管'''是'\''返回True – geoffspear
試試這個:
connect('/home/YOURNAME/Library/Application Support/Something/something.sqldb')
我刪除了反斜線和更換因爲Python不是shell,並且不會按照您期望的方式擴展它們。
問題不在於空間,它是代字符。 Python不是一個shell,不會擴展字符串中的特殊字符。有些功能可以做到這一點。 os.path.expanduser
和os.path.expandvars
可以爲您擴展字符串的部分和$VAR
部分。
應用程序和支持之間的反斜槓不應該是必需的,請嘗試刪除它 –