Re: abspath returns different results when py_compile input path is different in Python?

2018-02-12 Thread lampahome
so py_compile.compile() doesn't normalize the filename, but it will pass
the input filename to co_filename?

2018-02-12 19:27 GMT+08:00 eryk sun :

> On Mon, Feb 12, 2018 at 9:40 AM, lampahome  wrote:
> > I want to know abspath of python script followed by steps below.
> >
> >1. *built it to byte code by py_compile.*
> >2. *execute it to check abspath.*
> >
> > But I got *2 results* when I execute it.I found the *results based on the
> > path of script* followed by py_compile.
> >
> > Here is my script test.py :
> >
> > import os
> > import inspect
> > print os.path.dirname(os.path.abspath(inspect.getfile(
> inspect.currentframe(
> >
> > Build it with py_compile, then got 2 results when I enter *different path
> > of test.py*:
> >
> > *enter the folder and compile with only script name.*
> >
> > [~] cd /usr/local/bin/
> > [/usr/local/bin/] python -m py_compile test.py
> > [/usr/local/bin/] cd ~
> > [~] python /usr/local/bin/test.pyc
> > /home/UserXX
> >
> > *In other folder and compile with absolute script name.*
> >
> > [~] python -m py_compile /usr/local/bin/test.py
> > [~] python /usr/local/bin/test.pyc
> > /usr/local/bin
>
> A code object has a co_filename attribute for use in creating
> tracebacks. This path isn't necessarily fully qualified. Here are a
> couple of examples using the built-in compile() function:
>
> >>> compile('42', 'test.py', 'exec').co_filename
> 'test.py'
> >>> compile('42', '/usr/local/bin/test.py', 'exec').co_filename
> '/usr/local/bin/test.py'
>
> py_compile.compile() does not normalize the filename.
>
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: abspath returns different results when py_compile input path is different in Python?

2018-02-12 Thread eryk sun
On Mon, Feb 12, 2018 at 9:40 AM, lampahome  wrote:
> I want to know abspath of python script followed by steps below.
>
>1. *built it to byte code by py_compile.*
>2. *execute it to check abspath.*
>
> But I got *2 results* when I execute it.I found the *results based on the
> path of script* followed by py_compile.
>
> Here is my script test.py :
>
> import os
> import inspect
> print 
> os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe(
>
> Build it with py_compile, then got 2 results when I enter *different path
> of test.py*:
>
> *enter the folder and compile with only script name.*
>
> [~] cd /usr/local/bin/
> [/usr/local/bin/] python -m py_compile test.py
> [/usr/local/bin/] cd ~
> [~] python /usr/local/bin/test.pyc
> /home/UserXX
>
> *In other folder and compile with absolute script name.*
>
> [~] python -m py_compile /usr/local/bin/test.py
> [~] python /usr/local/bin/test.pyc
> /usr/local/bin

A code object has a co_filename attribute for use in creating
tracebacks. This path isn't necessarily fully qualified. Here are a
couple of examples using the built-in compile() function:

>>> compile('42', 'test.py', 'exec').co_filename
'test.py'
>>> compile('42', '/usr/local/bin/test.py', 'exec').co_filename
'/usr/local/bin/test.py'

py_compile.compile() does not normalize the filename.
-- 
https://mail.python.org/mailman/listinfo/python-list


abspath returns different results when py_compile input path is different in Python?

2018-02-12 Thread lampahome
I want to know abspath of python script followed by steps below.

   1. *built it to byte code by py_compile.*
   2. *execute it to check abspath.*

But I got *2 results* when I execute it.I found the *results based on the
path of script* followed by py_compile.

Here is my script test.py :

import osimport inspect
print os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe(

Build it with py_compile, then got 2 results when I enter *different path
of test.py*:

*enter the folder and compile with only script name.*

[~]cd /usr/local/bin/[/usr/local/bin/]python -m py_compile
test.py[/usr/local/bin/]cd ~[~]python
/usr/local/bin/test.pyc/home/UserXX

*In other folder and compile with absolute script name.*

[~]python -m py_compile /usr/local/bin/test.py[~]python
/usr/local/bin/test.pyc/usr/local/bin

how come got 2 different results?
-- 
https://mail.python.org/mailman/listinfo/python-list