os.path.isfile(path)メソッドをテストして、何かがファイルであるかどうかを確認しています。不思議なことに私はパスとファイル名を結合するとtrueを返しますが、完全なファイルパスを入れるとfalseを返します。どうしてこれなの?勝利7 iPythonノートPython 2.7 os.path.isfile
0
A
答えて
3
パス内の\t
はタブ文字であり、2文字のスラッシュtではないためです。生の文字列を使用します。
path = r'C:\Users\usrname\Documents\test.xlsx'
またはセパレータ
path = 'C:\\Users\\usrname\\Documents\\test.xlsx'
+0
はありがとうございました!私はこれが他の誰かを助けることを望む。 – Mateyobi
0
上
import os
path = 'C:\Users\usrname\Documents\test.xlsx'
if os.path.isfile(os.path.join('C:\Users\usrname\Documents','test.xlsx')): #returns yes
print 'yes'
else:
print 'no'
if os.path.isfile(path): #returns no
print 'yes'
else:
print 'no'
のPython 2.7 os.path.joinパスを修正するためにあなたのパス文字列を変換するので:
「C:\\ユーザー\\ USRNAME \\ \\ドキュメントtest.xlsx '
2
\t
はタブに変換されています。
import os
path = 'C:\Users\usrname\Documents\test.xlsx'
print path
# C:\Users\usrname\Documents est.xlsx
path = os.path.join('C:\Users\usrname\Documents', 'test.xlsx')
print path
# C:\Users\usrname\Documents\test.xlsx
完全にエスケープ文字の問題を回避するために、私はちょうどos.path.join
を使用して、完全に文字列を構築することをお勧め。
base_dir = os.path.join('C:', 'Users', 'usrname', 'Documents')
print base_dir
# C:\Users\usrname\Documents
path = os.path.join(base_dir, 'test.xlsx')
print path
# C:\Users\usrname\Documents\test.xlsx
関連する問題
- 1. os.path.isfile raise FileNotFoundError
- 2. (python)os.path.exists os.path.isfileの嘘ですか?
- 3. Homebrew Python 2.7対OS X python 2.7
- 4. のPython 2.7 Pythonの
- 5. のpython 2.7:pythonの
- 6. Pafy - Pythonの2.7
- 7. Python 2.7 Tkinterコード
- 8. Python [2.7] - サブプロセス
- 9. は、Python 2.7
- 10. アクティブのPython 2.7
- 11. のPython 2.7
- 12. コードエラー - Python 2.7
- 13. nfcpy python 2.7 pyinstaller
- 14. VicBotダイスローラー(Python 2.7)
- 15. のPython 2.7は
- 16. は、Python 2.7
- 17. ポストインポートフックin Python 2.7
- 18. インポート、Pythonの2.7
- 19. Python 2.7 on Ubuntu
- 20. python 2.7 re.MULTILINE problems
- 21. Python 2.7 UnicodeEncodeエラー
- 22. のPython 2.7 IndentationError
- 23. Python 2.7 keylogger
- 24. (のpython 2.7)
- 25. は、Python 2.7
- 26. PythonのMSSQL 2.7
- 27. は、Python 2.7
- 28. エラー:のpython 2.7
- 29. のpython 2.7
- 30. Var in python 2.7
を逃れるos.path.joinの出力を検査( 'C:USRNAME \ドキュメント\ \ユーザー'、 'test.xlsx') – kingdaemon