try
ステートメントを使用せずに、ファイルが存在するかどうかを確認する方法を教えてください。
調べている理由がif file_exists: open_it()
のようなことができるようになっている場合は、それを開く試みの周囲にtry
を使用する方が安全です。確認してから開くと、ファイルが削除または移動されたり、確認してから開こうとするまでの間に何らかの危険性があります。
ファイルをすぐに開く予定がない場合は、 os.path.isfile
を使用できます。
Pathが既存の通常ファイルの場合は
True
を返します。これはシンボリックリンクをたどるので、 islink() と isfile() の両方が同じパスに当てはまります。
import os.path
os.path.isfile(fname)
ファイルであることを確認する必要がある場合.
Python 3.4以降、 pathlib
モジュール はオブジェクト指向のアプローチを提供します(Python 2.7ではpathlib2
にバックポート)。
from pathlib import Path
my_file = Path("/path/to/file")
if my_file.is_file():
# file exists
ディレクトリを確認するには、次の操作を行います。
if my_file.is_dir():
# directory exists
Path
オブジェクトがファイルかディレクトリかに関係なく存在するかどうかを確認するには、exists()
を使用します。
if my_file.exists():
# path exists
try
ブロックでresolve(strict=True)
を使うこともできます。
try:
my_abs_path = my_file.resolve(strict=True)
except FileNotFoundError:
# doesn't exist
else:
# exists
os.path.exists
関数があります。
import os.path
os.path.exists(file_path)
これはファイルとディレクトリの両方に対してTrue
を返しますが、代わりに使うことができます。
os.path.isfile(file_path)
それが特にファイルかどうかをテストするため。それはシンボリックリンクをたどります。
isfile()
とは異なり、 exists()
はディレクトリに対してTrue
を返します。
したがって、普通のファイルだけでなくディレクトリも必要な場合は、isfile()
またはexists()
を使います。これは単純なREPLの出力です。
>>> print os.path.isfile("/etc/password.txt")
True
>>> print os.path.isfile("/etc")
False
>>> print os.path.isfile("/does/not/exist")
False
>>> print os.path.exists("/etc/password.txt")
True
>>> print os.path.exists("/etc")
True
>>> print os.path.exists("/does/not/exist")
False
import os.path
if os.path.isfile(filepath):
os.path.isfile()
を os.access()
と共に使用します。
import os
import os.path
PATH='./file.txt'
if os.path.isfile(PATH) and os.access(PATH, os.R_OK):
print "File exists and is readable"
else:
print "Either the file is missing or not readable"
import os
os.path.exists(path) # Returns whether the path (directory or file) exists or not
os.path.isfile(path) # Returns whether the file exists or not
これはファイルが存在するかどうかを確認する最も簡単な方法です。ちょうど なぜなら あなたがチェックした時に存在していたファイルは 保証 あなたがそれを開く必要がある時にそこにあるということです。
import os
fname = "foo.txt"
if os.path.isfile(fname):
print("file does exist at this time")
else:
print("no such file exists at this time")
Python 3.4+ にはオブジェクト指向のパスモジュールがあります: pathlib 。この新しいモジュールを使用して、ファイルが次のように存在するかどうかを確認できます。
import pathlib
p = pathlib.Path('path/to/file')
if p.is_file(): # or p.is_dir() to see if it is a directory
# do stuff
ファイルを開くときにtry/except
ブロックを使用することができます(通常はそうすべきです)。
try:
with p.open() as f:
# do awesome stuff
except OSError:
print('Well darn.')
Pathlibモジュールには、便利なグロビング、ファイルの所有者のチェック、より簡単なパス結合など、たくさんの素晴らしい機能が含まれています。古いPython(バージョン2.6以降)を使用している場合でも、pipを使用してpathlibをインストールできます。
# installs pathlib2 on older Python versions
# the original third-party module, pathlib, is no longer maintained.
pip install pathlib2
それからそれを次のようにインポートします。
# Older Python versions
import pathlib2 as pathlib
Try文を優先してください。それはより良いスタイルと見なされ、競合状態を避けます。
私のことばを取ってはいけません。この理論には十分な支持があります。これがカップルです:
Tryステートメントを使用せずに、Pythonを使用してファイルが存在するかどうかを確認するにはどうすればよいですか?
Python 3.4以降で使用可能になり、ファイル名を使用してPath
オブジェクトをインポートおよびインスタンス化し、is_file
メソッドを確認します(通常のファイルを指すシンボリックリンクでも同様にTrueを返します)。
>>> from pathlib import Path
>>> Path('/').is_file()
False
>>> Path('/initrd.img').is_file()
True
>>> Path('/doesnotexist').is_file()
False
Python 2を使用している場合は、pylib、 pathlib2
からpathlibモジュールをバックポートするか、またはos.path
モジュールからisfile
を確認できます。
>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
さて、上記はおそらくここで最も実用的な直接的な答えですが、競合状態の可能性があります(あなたが達成しようとしているものに依存します)、そして基礎となる実装がtry
を使用するが、Pythonは使用するという事実try
はその実装のどこでも。
Pythonはあらゆる場所でtry
を使用するため、実際にそれを使用する実装を避ける理由はありません。
しかし、この回答の残りの部分では、これらの警告を検討しようとします。
Python 3.4以降で使用可能です。Path
で新しいpathlib
オブジェクトを使用してください。ディレクトリはファイルではないため、.exists
はまったく正しくないことに注意してください(Unixの意味でeverythingはファイルです)。
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
したがって、is_file
を使用する必要があります。
>>> root.is_file()
False
is_file
のヘルプは次のとおりです。
is_file(self)
Whether this path is a regular file (also True for symlinks pointing
to regular files).
それでは、ファイルであることがわかっているファイルを取得しましょう。
>>> import tempfile
>>> file = tempfile.NamedTemporaryFile()
>>> filepathobj = Path(file.name)
>>> filepathobj.is_file()
True
>>> filepathobj.exists()
True
デフォルトでは、NamedTemporaryFile
は閉じられたときにファイルを削除します(それに対する参照がなくなると自動的に閉じます)。
>>> del file
>>> filepathobj.exists()
False
>>> filepathobj.is_file()
False
実装 を掘り下げると、is_file
がtry
を使用していることがわかります。
def is_file(self):
"""
Whether this path is a regular file (also True for symlinks pointing
to regular files).
"""
try:
return S_ISREG(self.stat().st_mode)
except OSError as e:
if e.errno not in (ENOENT, ENOTDIR):
raise
# Path doesn't exist or is a broken symlink
# (see https://bitbucket.org/pitrou/pathlib/issue/12/)
return False
try
が好きなのは、競合状態を回避するためです。 try
を使用すると、ファイルの読み取りを試みますが、ファイルがあることを期待します。そうでない場合は、例外をキャッチし、フォールバック動作が意味のあるものを実行します。
読み取る前にファイルが存在することを確認し、それを削除する場合、複数のスレッドまたはプロセスを使用している場合、または別のプログラムがそのファイルを認識して削除する可能性がある場合- 競合条件存在することを確認した場合、racingその前にそれを開くcondition(その存在)変更。
競合状態をデバッグするのは非常に困難です。ウィンドウが非常に狭いため、プログラムが失敗する可能性があるためです。
しかし、これがあなたの動機である場合、cantry
コンテキストマネージャーを使用してsuppress
ステートメントの値を取得します。
suppress
Python 3.4は suppress
コンテキストマネージャー(以前は ignore
コンテキストマネージャー)を提供します。元のtry
ステートメントを避けるように依頼します。
from contextlib import suppress
from pathlib import Path
使用法:
>>> with suppress(OSError), Path('doesnotexist').open() as f:
... for line in f:
... print(line)
...
>>>
>>> with suppress(OSError):
... Path('doesnotexist').unlink()
...
>>>
以前のPythonの場合、独自のsuppress
をロールできますが、try
を使用しないと、使用するよりも冗長になります。私は信じていますこれは実際にPythonのどのレベルでもtry
を使用しない唯一の答えですPython 3.4代わりにコンテキストマネージャを使用するため:
class suppress(object):
def __init__(self, *exceptions):
self.exceptions = exceptions
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
if exc_type is not None:
return issubclass(exc_type, self.exceptions)
おそらく試してみると簡単です:
from contextlib import contextmanager
@contextmanager
def suppress(*exceptions):
try:
yield
except exceptions:
pass
isfile
import os
os.path.isfile(path)
docs から:
os.path.isfile(path)
パスが既存の通常ファイルの場合、Trueを返します。これはシンボリックリンクに従うため、
islink()
とisfile()
の両方が同じパスに対してtrueになる場合があります。
しかし、この関数の source を調べると、実際にtryステートメントを使用していることがわかります。
# This follows symbolic links, so both islink() and isdir() can be true # for the same path on systems that support symlinks def isfile(path): """Test whether a path is a regular file""" try: st = os.stat(path) except os.error: return False return stat.S_ISREG(st.st_mode)
>>> OSError is os.error
True
実行しているのは、指定されたパスを使用して統計を取得できるかどうかを確認し、OSError
をキャッチしてから、例外が発生しなかった場合にファイルかどうかを確認することです。
ファイルを使用して何かを行う場合は、競合状態を回避するために、try-exceptを使用して直接試行することをお勧めします。
try:
with open(path) as f:
f.read()
except OSError:
pass
os.access
UnixおよびWindowsで使用できるのはos.access
ですが、使用するにはフラグを渡す必要があり、ファイルとディレクトリを区別しません。これは、実際の呼び出しユーザーが昇格された特権環境でアクセスできるかどうかをテストするために使用されます。
import os
os.access(path, os.F_OK)
また、isfile
と同じ競合状態の問題もあります。 docs から:
注:access()を使用して、ユーザーがたとえば実際にopen()を使用してファイルを開くと、セキュリティホールが作成されます。これは、ユーザーがファイルをチェックして開いてから操作するまでの短い時間間隔を利用する可能性があるためです。 EAFPテクニックを使用することをお勧めします。例えば:
if os.access("myfile", os.R_OK): with open("myfile") as fp: return fp.read() return "some default data"
次のように書かれた方が良い:
try: fp = open("myfile") except IOError as e: if e.errno == errno.EACCES: return "some default data" # Not a permission error. raise else: with fp: return fp.read()
os.access
の使用は避けてください。これは、前述の高レベルのオブジェクトおよび関数よりもユーザーエラーの機会が多い低レベル関数です。
別の答えはos.access
についてこれを言います:
個人的に、私はこれを好みます。なぜなら、内部ではネイティブAPIを呼び出します(「$ {PYTHON_SRC_DIR} /Modules/posixmodule.c」を介して)が、可能性のあるユーザーエラーのゲートを開き、他のバリアントほどPythonicではないからです:
この答えは、正当化のない、非Pythonicでエラーが発生しやすい方法を好むということです。ユーザーが低レベルAPIを理解せずに使用することを奨励しているようです。
また、無条件にTrue
を返すことで、すべての例外(KeyboardInterrupt
およびSystemExit
!を含む)をサイレントに渡すことができるコンテキストマネージャーを作成します。これはバグを隠す良い方法です。
これは、ユーザーが不適切な慣行を採用することを奨励しているようです。
import os
#Your path here e.g. "C:\Program Files\text.txt"
#For access purposes: "C:\\Program Files\\text.txt"
if os.path.exists("C:\..."):
print "File found!"
else:
print "File not found!"
os
をインポートすると、お使いのオペレーティングシステムでナビゲートして標準の操作を簡単に実行できます。
参考のために_ Pythonを使ってファイルが存在するかどうか調べる方法は? も見てください。
高度な操作が必要な場合はshutil
を使用してください。
os.path.isfile()
、os.path.isdir()
、os.path.exists()
によるファイルとフォルダのテスト
"path"が有効なパスであると仮定すると、この表はファイルとフォルダに対して各関数から返されるものを示しています。
ファイルが特定の種類のファイルであるかどうかをテストするには、os.path.splitext()
を使用して拡張子を取得します(まだ知っていない場合)。
>>> import os
>>> path = "path to a Word document"
>>> os.path.isfile(path)
True
>>> os.path.splitext(path)[1] == ".docx" # test if the extension is .docx
True
2016年の最善の方法はまだos.path.isfile
を使うことです。
>>> os.path.isfile('/path/to/some/file.txt')
あるいはPython 3ではpathlib
を使うことができます。
import pathlib
path = pathlib.Path('/path/to/some/file.txt')
if path.is_file():
...
Try/exceptとisfile()
の間には意味のある機能上の違いがあるようには見えませんので、どちらを使用するのが妥当かを判断してください。
ファイルを読み込みたい場合、もしあれば
try:
f = open(filepath)
except IOError:
print 'Oh dear.'
しかし、ファイルが存在する場合にそのファイルの名前を変更するだけで、そのファイルを開く必要がない場合は、次のようにします。
if os.path.isfile(filepath):
os.rename(filepath, filepath + '.old')
ファイルに書き込みたい場合、もしそれが存在しなければ、
# python 2
if not os.path.isfile(filepath):
f = open(filepath, 'w')
# python 3, x opens for exclusive creation, failing if the file already exists
try:
f = open(filepath, 'wx')
except IOError:
print 'file already exists'
ファイルのロックが必要な場合、それは別の問題です。
あなたはこれを試すことができます(より安全):
try:
# http://effbot.org/zone/python-with-statement.htm
# 'with' is safer to open a file
with open('whatever.txt') as fh:
# Do something with 'fh'
except IOError as e:
print("({})".format(e))
出力は次のようになります。
([Errno 2]そのようなファイルやディレクトリはありません: 'whatever.txt')
次に、結果に応じて、プログラムをそこから実行し続けることも、必要に応じて停止するようにコーディングすることもできます。
私はいつもtry
とexcept
ステートメントを使うことをお勧めしますが、ここにいくつかの可能性があります(私のお気に入りはos.access
を使うことです):
ファイルを開いてみてください。
ファイルを開くと常にファイルの存在が確認されます。あなたはそのように関数を作ることができます:
def File_Existence(filepath):
f = open(filepath)
return True
もしそれがFalseなら、それ以降のバージョンのPythonでは、手渡されていないIOErrorまたはOSErrorで実行を停止します。例外をキャッチするには、try except節を使用する必要があります。もちろん、あなたはいつでもtry
except`ステートメントを使うことができます( hsandt のおかげで私に考えさせてくれます):
def File_Existence(filepath):
try:
f = open(filepath)
except IOError, OSError: # Note OSError is for later versions of Python
return False
return True
os.path.exists(path)
を使う:
これはあなたが指定したものの存在をチェックします。しかし、それはファイル と ディレクトリをチェックするので、あなたがそれをどのように使うかについて注意してください。
import os.path
>>> os.path.exists("this/is/a/directory")
True
>>> os.path.exists("this/is/a/file.txt")
True
>>> os.path.exists("not/a/directory")
False
os.access(path, mode)
を使う:
これにより、ファイルにアクセスできるかどうかが確認されます。権限を確認します。 os.pyのドキュメントに基づき、os.F_OK
を入力すると、パスの存在を確認します。ただし、これを使用すると、権限の確認からファイルを開くまでの時間を使って他のユーザーがファイルを攻撃する可能性があるため、セキュリティホールが発生します。代わりに、ファイルのパーミッションを確認するのではなく、ファイルを開くことに直接進むべきです。 ( _ eafp _ vs _ lbyp _ )。後でファイルを開くのではなく、その存在を確認するだけの場合は、これを使用できます。
とにかく、ここ:
>>> import os
>>> os.access("/is/a/file.txt", os.F_OK)
True
私はあなたがファイルの存在を確認することができないだろう2つの方法があることにも言及するべきです。問題はpermission denied
またはno such file or directory
のどちらかになります。 IOError
を見つけた場合は、IOError as e
を設定し(私の最初のオプションと同様に)、print(e.args)
を入力して問題を判別できるようにします。私はそれが役立つことを願っています! :)
日付:2017-12-04
考えられるすべての解決策が他の回答に記載されています。
ファイルが存在するかどうかを確認するための直感的で議論の余地のある方法は次のとおりです。
import os
os.path.isfile('~/file.md') # Returns True if exists, else False
# additionaly check a dir
os.path.isdir('~/folder') # Returns True if the folder exists, else False
# check either a dir or a file
os.path.exists('~/file')
私はあなたの参考のために徹底的なチートシートを作りました:
#os.path methods in exhaustive cheatsheet
{'definition': ['dirname',
'basename',
'abspath',
'relpath',
'commonpath',
'normpath',
'realpath'],
'operation': ['split', 'splitdrive', 'splitext',
'join', 'normcase'],
'compare': ['samefile', 'sameopenfile', 'samestat'],
'condition': ['isdir',
'isfile',
'exists',
'lexists'
'islink',
'isabs',
'ismount',],
'expand': ['expanduser',
'expandvars'],
'stat': ['getatime', 'getctime', 'getmtime',
'getsize']}
さらに、os.access()
:
if os.access("myfile", os.R_OK):
with open("myfile") as fp:
return fp.read()
R_OK
、W_OK
、およびX_OK
を許可をテストするためのフラグにする( doc )。
ファイルが開かれている場合は、以下の手法のいずれかを使用できます。
>>> with open('somefile', 'xt') as f: #Using the x-flag, Python3.3 and above
... f.write('Hello\n')
>>> if not os.path.exists('somefile'):
... with open('somefile', 'wt') as f:
... f.write("Hello\n")
... else:
... print('File already exists!')
_アップデート_
混乱を避けるために、そして私が得た答えに基づいて、現在の答えは与えられた名前のファイル または ディレクトリを見つけます。
if os.path.isfile(path_to_file):
try:
open(path_to_file)
pass
except IOError as e:
print "Unable to open file"
例外を発生させることは、あなたのプログラムにおけるフロー制御のための容認できる、そしてPythonicの、アプローチであると考えられます。不足しているファイルをIOErrorsで処理することを検討してください。この状況では、ファイルは存在してもユーザーに読み取り権限がないとIOError例外が発生します。
try:
なしでBrianの提案を書くことができます。
from contextlib import suppress
with suppress(IOError), open('filename'):
process()
suppress
はPython 3.4の一部です。古いリリースでは、あなたはすぐにあなた自身の抑制を書くことができます:
from contextlib import contextmanager
@contextmanager
def suppress(*exceptions):
try:
yield
except exceptions:
pass
他の目的ですでにNumPyをインポートした場合は、pathlib
、os
、paths
などの他のライブラリをインポートする必要はありません。
import numpy as np
np.DataSource().exists("path/to/your/file")
これはその存在に基づいてtrueまたはfalseを返します。
次の3つの方法があります。
注1:
os.path.isfile
はファイルにのみ使用されます
import os.path
os.path.isfile(filename) # True if file exists
os.path.isfile(dirname) # False if directory exists
注2:ファイルとディレクトリの両方に使用される
os.path.exists
import os.path
os.path.exists(filename) # True if file exists
os.path.exists(dirname) #True if directory exists
pathlib.Path
メソッド(Python 3+に含まれています。Python2の場合はpipでインストール可能です)
from pathlib import Path
Path(filename).exists()
他の答えに正確には反映されていないもう1つのわずかな変化を追加します。
これはfile_path
がNone
または空文字列の場合を扱います。
def file_exists(file_path):
if not file_path:
return False
Elif not os.path.isfile(file_path):
return False
else:
return True
Shahbazからの提案に基づいてバリアントを追加する
def file_exists(file_path):
if not file_path:
return False
else:
return os.path.isfile(file_path)
Peter Woodからの提案に基づいてバリアントを追加する
def file_exists(file_path):
return file_path and os.path.isfile(file_path):
私は10年ほど前から出回っているパッケージの作者です、そしてそれはこの問題に直接取り組む機能を持っています。基本的に、あなたがWindows以外のシステムを使っているなら、Popen
を使ってfind
にアクセスします。ただし、Windowsを使用している場合は、効率的なファイルシステムウォーカーを使用してfind
が複製されます。
コード自体は、オペレーティングシステムを決定して「Unix」スタイルのtry
またはhand-buillt find
を使用する場合を除いて、find
ブロックを使用しません。タイミングテストの結果、try
の方がOSを決定するのが早いことがわかりました。そこで私はそれを使用しました(ただし他にはありません)。
>>> import pox
>>> pox.find('*python*', type='file', root=pox.homedir(), recurse=False)
['/Users/mmckerns/.python']
そしてその文書は…
>>> print pox.find.__doc__
find(patterns[,root,recurse,type]); Get path to a file or directory
patterns: name or partial name string of items to search for
root: path string of top-level directory to search
recurse: if True, recurse down from root directory
type: item filter; one of {None, file, dir, link, socket, block, char}
verbose: if True, be a little verbose about the search
On some OS, recursion can be specified by recursion depth (an integer).
patterns can be specified with basic pattern matching. Additionally,
multiple patterns can be specified by splitting patterns with a ';'
For example:
>>> find('pox*', root='..')
['/Users/foo/pox/pox', '/Users/foo/pox/scripts/pox_launcher.py']
>>> find('*shutils*;*init*')
['/Users/foo/pox/pox/shutils.py', '/Users/foo/pox/pox/__init__.py']
>>>
気にするなら、実装はここにあります: https://github.com/uqfoundation/pox/blob/89f90fb308f285ca7a62eabe2c38acb87e89dad9/pox/shutils.py#L190
これがLinuxコマンドライン環境用の1行のPythonコマンドです。私はそんなに熱いBash男ではないので、私はこの非常に手の込んだものを見つけます。
python -c "import os.path; print os.path.isfile('/path_to/file.xxx')"
これが役に立つことを願っています。
try文を使わずにファイルが存在するかどうかをどうやって確認するのですか?
2016年には、これはまだ間違いなくファイルが存在するかどうかとそれがファイルであるかどうかを確認する最も簡単な方法です。
import os
os.path.isfile('./file.txt') # Returns True if exists, else False
isfile
は、実際には内部でos.stat
とstat.S_ISREG(mode)
を内部で使用するヘルパーメソッドです。このos.stat
は、ファイル、ディレクトリ、ソケット、バッファなどに関する詳細情報を提供する低レベルのメソッドです。 os.statの詳細はこちら
注: ただし、この方法ではファイルがロックされることはありません。したがって、コードは " 使用時間に対するチェック時間 "に対して脆弱になる可能性があります(TOCTTOU)のバグ。
そのため、例外を発生させることは、あなたのプログラムにおけるフロー制御のための許容できる、そしてPythonicの、アプローチと考えられます。そしてif
ステートメント(単なるアドバイス)ではなく、不足しているファイルをIOErrorsで処理することを検討するべきです。
Pythonの "OS"ライブラリを使うことができます。
>>> import os
>>> os.path.exists("C:\\Users\\####\\Desktop\\test.txt")
True
>>> os.path.exists("C:\\Users\\####\\Desktop\\test.tx")
False
import os.path
def isReadableFile(file_path, file_name):
full_path = file_path + "/" + file_name
try:
if not os.path.exists(file_path):
print "File path is invalid."
return False
Elif not os.path.isfile(full_path):
print "File does not exist."
return False
Elif not os.access(full_path, os.R_OK):
print "File cannot be read."
return False
else:
print "File can be read."
return True
except IOError as ex:
print "I/O error({0}): {1}".format(ex.errno, ex.strerror)
except Error as ex:
print "Error({0}): {1}".format(ex.errno, ex.strerror)
return False
#------------------------------------------------------
path = "/usr/khaled/documents/puzzles"
fileName = "puzzle_1.txt"
isReadableFile(path, fileName)
次のopenメソッドを使ってファイルが存在するかどうかを確認することができます。
open(inputFile, 'r')
import os
path = /path/to/dir
root,dirs,files = os.walk(path).next()
if myfile in files:
print "yes it exists"
これはいくつかのファイルをチェックするときに役に立ちます。または、既存のリストを使って集合の交差/減算を行います。
ファイルが存在するかどうかを確認するには
from sys import argv
from os.path import exists
script, filename = argv
target = open(filename)
print "file exists: %r" % exists(filename)
ファイルが特定のディレクトリにあるかどうかを確認するには、os.listdirを使用します。
import os
if 'file.ext' in os.listdir('dirpath'):
#code
import os
# for testing purpose args defaulted to current folder & file.
# returns True if file found
def file_exists(FOLDER_PATH='../', FILE_NAME=__file__):
return os.path.isdir(FOLDER_PATH) \
and os.path.isfile(os.path.join(FOLDER_PATH, FILE_NAME))
基本的にはフォルダチェック、次に os.path.join を使用して適切なディレクトリセパレータを使用したファイルチェックを行います。
あなたは間違いなくこれを使うべきです。
from os.path import exists
if exists("file") == True:
print "File exists."
Elif exists("file") == False:
print "File doesn't exist."
おそらく必要ではありませんが、もしそうなら、ここにいくつかのコードがあります
import os
def file_exists(path, filename):
for file_or_folder in os.listdir(path):
if file_or_folder == filename:
return True
return False