Dave Angel wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">Brandon
Keown wrote:
On Oct 27, 7:48 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
wrote:
<snip>
Now that you've solved your problem, revise your conclusion. A file
without a path *is* searched in the current working directory - but
that
directory may not be the one you think it is.
--
Gabriel Genellina
I'm not sure what you mean. I executed the program from the directory
the file was in, they were in the same directory. And when a program
executes from a path in CMD in windows, that is supposed to be the
CWD. I'm not sure what it would be set to if not that...
Gabriel is right. But if you care to get our diagnosis, you need to
state your working conditions more clearly. Or perhaps do a bit of
debugging on it. For a start, you might do a print os.curdir
right before the open() function to see what the current directory is.
Or you could remove the several ambiguities in your paragraph above
that starts "I'm not sure..." Maybe show a transcript of your CMD
session. And if the python.* that's on your PATH is a batch file,
show us the contents of that as well.
And if you're running from CMD, or from an interpreter, or from IDLE,
or from an IDE, or from Explorer, each one may have its own idea of
what to give you for current directory.
If you're running the script from a CMD prompt, by just entering the
script name and letting Windows find the executable (which is not the
script), then you're correct, CWD should be the same as it was in the
CMD shell.
DaveA
OK, I blew it. Instead of re-reading the thread, I relied on memory.
So please cancel my last paragraph, and let me try again.
The big differences between your working code and the non-working code
are three:
The non-working code uses relative file name, while the working code
uses absolute path.
The non-working code uses C's open() call, while the working code
changed that to PyFile_FromString(filename, "r")
The non-working code uses "w" mode on the open, trashing the file,
while the working code uses "r"
I'd claim that #3 is your real problem. I doubt that a file open in "w"
mode is acceptable to the interpreter, since the first thing that does
is truncate the file.
Anyway, Gabriel's point (which I poorly elaborated on) about the current
directory is still valid. But you should use C calls to see what it is,
rather than Python calls. And I'd still like to know how you're
launching this executable, this compiled C program. If you're running
it from a CMD window, a DOS box, then the current directory is obvious
from the prompt.
DaveA
--
http://mail.python.org/mailman/listinfo/python-list