On 11/29/2011 03:37 AM, Mic wrote:
On 2011-11-27 17:58, Mic wrote:
Say that I want to try and open 10 files. If none of these exists, I
want an
error
message to appear. But only if NONE of these files exists.
I know how to handle this with one file. But I don't know how to do
that
with more than one.
So the program should try and open all 10 files and if, and only if,
none
of the files exists I want en error message to appear.
[Andreas wrote]:
Use a counter which increments with every existing file. After opening
all files check if the counter is bigger than 0.
Or, if you need to know which files exist, use a list, append existing
files to it and check at the end if it's not empty.
Do you need more help?
Andreas,
Thanks for your answer. I am afraid I don't understand this:
"Use a counter which increments with every existing file. After opening
all files check if the counter is bigger than 0."
Could you explain what's unclear about it? Andreas couldn't get more
specific, since you didn't say how these 10 names are provided. If
they're in a list called filenames, you could do something like:
fileobjects = []
for fname in filenames:
try:
fileobj = open(fname, "r")
fileobjects.append(fileobj)
catch SomeExceptionType as e:
pass
and when you're done, use something like:
if len(fileobjects) == 0:
print "no files could be opened"
I thought I could co along those lines earlier
try:
text_file=open("Hey","r") and text_file1=open("Hey","r")
Unfortunately this isn't valid Python syntax. The equal sign has a
specific statement syntax, and the only time you can have more than one
of them in one statement, is the chained assignments, where they all get
bound to the same object. You wouldn't want to do this anyway, since it
would leave all those open files in an unspecified state.
To go one step further, if it could work, it would give an exception if
any ONE of the files couldn't be open, and you want the message to
appear if none of the files could be opened.
except:
print("hi")
So that hi is printed only and only if both files aren't existing.
If you didn't need to open them, but just to make sure they exist, you
could use if os.exist(filename) much more easily.
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor