[Python-Dev] 3.2.1 encoding surprise (original) (raw)
Mark Hammond skippy.hammond at gmail.com
Thu Jul 21 02:34:34 CEST 2011
- Previous message: [Python-Dev] 3.2.1 encoding surprise
- Next message: [Python-Dev] 3.2.1 encoding surprise
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 21/07/2011 10:13 AM, Glenn Linderman wrote:
On 7/20/2011 2:43 PM, Glenn Linderman wrote:
It's not py's job to walk the path: the shell does that when you just type "foo". It locates foo.py, and then invokes py because of file association - py then checks the file for a shebang to decide which Python to dispatch it to.
Certainly when the launcher is invoked via an association, this would be the case. However, when the launcher is invoked via the command line, then the unqualified name is passed through. To be useful from the command line, the launcher should walk the PATH to find the .py file. The Windows SearchPath API <http://msdn.microsoft.com/en-us/library/aa365527%28v=VS.85%29.aspx> makes it a pretty easy job to walk the PATH. Would even allow low cost additional feature of searching for both foo and foo.py at the same time.
But that would also require us to parse the command-line, understand which options require 2 args and which just require 1 (making it fragile in the face of later versions introducing new options), then re-stitching a modified command-line back together for the child process. IMO that is all out of scope.
Are you maybe forgetting about the PATHEXT functionality? If you include .py in your PATHEXT and file associations are set so .py files are handled by the launcher, you should be able to directly execute just 'foo' and have the command processor search the PATH for a foo.py and invoke it via the launcher.
Mark
- Previous message: [Python-Dev] 3.2.1 encoding surprise
- Next message: [Python-Dev] 3.2.1 encoding surprise
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]