2016-04-18 4 views
0

〜/ Documents/Jane/analyst/test/1 /というディレクトリにファイル7.csvがあります。問題なくpandas.read_csv関数を使ってこのファイルを読むことができました。 Python 3:os.path.isfile関数を使用して既存のファイルが識別されない

f_path = '~/Documents/Jane/analyst/test/1/7.csv' 

pd.read_csv(f_path, index_col=None, header=0) 

しかし、このファイルがos.path.isfileを使用してexsitingされているかどうかをチェックするとき()、結果はFalseを返します。

os.path.isfile(f_path) 

False 

考えられるエラーの原因にはどのようなものがありますか?

+0

おそらくフルパスを使用する必要があります。 'os.path.exists(path)'でファイルの親ディレクトリを確認してください – JRazor

答えて

4

os.path.isfile()とos.path.exists()の両方がホームディレクトリとして~を認識しません。 ~は、Pythonで認識されないシェル変数です。完全に指定するか、相対ディレクトリ名を使用する必要があります。

しかし、あなたが本当に家として~を使用したい場合、あなたは

from os.path import expanduser 
home = expanduser("~") 
1

を行うことができますフンが述べたように、あなたのコードは、これは絶対パスにチルダを拡大していきます

import os 

f_path = '~/Documents/Jane/analyst/test/1/7.csv' 
os.path.isfile(os.path.expanduser(f_path)) 

でなければなりません。 〜、。 Pythonのosパッケージと同じ意味を持ちません。それらはUNIXシェルで行い、別々の関数で解釈する必要があります。

+0

完全に動作します。ありがとう! – enaJ

関連する問題