On Sat, Aug 15, 2015 at 6:00 PM, Cameron Simpson <c...@zip.com.au> wrote: > On 15Aug2015 15:20, Clayton Kirkwood <c...@godblessthe.us> wrote: >>> >>> Behalf Of Laura Creighton > > [..] >>> >>> To: boB Stepp <robertvst...@gmail.com> >>> In a message of Sat, 15 Aug 2015 14:24:21 -0500, boB Stepp writes: >>> >I understand your points, but wonder then what is the intended use for >>> >os.path.exists()? That is, in what types of circumstances would it be >>> >both appropriate and safe to use? >>> >>> If you want to locate dangling symlinks, os.path.exists will return >>> False, so >>> the symlink is there, but the file it pointed to is long gone. >> >> >> Can't you do that with os.path.open() and get a value in os.path.status? >> (I >> think that is the thing to call) > > > Open does more that os.stat (which is what os.path.exists uses underneath). > > There are plenty of times you will want to know a file exists but not have > permission to open it. Also, open can have side effects if the target file > is a device or a socket/pipe. > > Always use the smallest thing you can to achieve an effect: stat is smaller > than open.
I actually had a specific example in mind when I asked my question. My current project will require me to create and then use an SQLite db. My concern is that after: import sqlite3 db = sqlite3.connect("my_db.db") 1) This will open the db if it exists already, which is normally what I will want. But... 2) My understanding is that if for whatever reason the db file is not found, then the connect statement will create a new instance of the db, which is what I normally would not want (Except at the time of initial creation). I'm just now in the process of reading up on SQLite, SQL, and Python's DB API. So far I have seen no mention that the connect statement returns anything if the db file does not already exist. If I am understanding everything so far, I think that my situation would be appropriate for using os.path.exists(). Is this correct? Thanks! boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor