How to print python commands automatically?

P

Peng Yu

Hi,

In bash, set -v will print the command executed. For example, the
following screen output shows that the "echo" command is printed
automatically. Is there a similar thing in python?

~/linux/test/bash/man/builtin/set/-v$ cat main.sh
#!/usr/bin/env bash

set -v
echo "Hello World!"
~/linux/test/bash/man/builtin/set/-v$ ./main.sh
echo "Hello World!"
Hello World!



Regards,
Peng
 
R

rusi

Hi,

In bash, set -v will print the command executed. For example, the
following screen output shows that the "echo" command is printed
automatically. Is there a similar thing in python?

~/linux/test/bash/man/builtin/set/-v$ cat main.sh
#!/usr/bin/env bash

set -v
echo "Hello World!"
~/linux/test/bash/man/builtin/set/-v$ ./main.sh
echo "Hello World!"
Hello World!

Regards,
Peng

Is this what you want?
http://docs.python.org/2/library/trace.html
 
P

Peng Yu

Is this what you want?

I'm not able to get the mixing of the python command screen output on
stdout. Is there a combination of options for this purpose?

~/linux/test/python/man/library/trace$ cat main1.py
#!/usr/bin/env python

def f():
print "Hello World!"

f()
~/linux/test/python/man/library/trace$ cat main.sh
#!/usr/bin/env bash

python -m trace --count -C . main1.py -t

~/linux/test/python/man/library/trace$ ./main.sh
Hello World!
~/linux/test/python/man/library/trace$ cat main1.cover
#!/usr/bin/env python

1: def f():
1: print "Hello World!"

1: f()
 
P

Prasad, Ramit

Peng said:
I'm not able to get the mixing of the python command screen output on
stdout. Is there a combination of options for this purpose?

~/linux/test/python/man/library/trace$ cat main1.py
#!/usr/bin/env python

def f():
print "Hello World!"

f()
~/linux/test/python/man/library/trace$ cat main.sh
#!/usr/bin/env bash

python -m trace --count -C . main1.py -t

~/linux/test/python/man/library/trace$ ./main.sh
Hello World!
~/linux/test/python/man/library/trace$ cat main1.cover
#!/usr/bin/env python

1: def f():
1: print "Hello World!"

1: f()

Try with just --trace?


C:\ramit>python.exe -m trace test.py
C:\ramit\Python27\lib\trace.py: must specify one of --trace, --count, --report, --listfuncs, or --trackcalls

C:\ramit>python -m trace --trace test.py
--- modulename: test, funcname: <module>
test.py(2): def f():
test.py(5): f()
--- modulename: test, funcname: f
test.py(3): print "Hello World!"
Hello World!
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)



~Ramit


This email is confidential and subject to important disclaimers and
conditionsincluding on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
 
P

Peng Yu

Try with just --trace?
C:\ramit>python.exe -m trace test.py
C:\ramit\Python27\lib\trace.py: must specify one of --trace, --count, --report, --listfuncs, or --trackcalls

C:\ramit>python -m trace --trace test.py
--- modulename: test, funcname: <module>
test.py(2): def f():
test.py(5): f()
--- modulename: test, funcname: f
test.py(3): print "Hello World!"
Hello World!
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)

I have to explicitly specify the modules I want to ignore. Is there a
way to ignore all the modules by default?

~/linux/test/python/man/library/trace/import$ cat.sh main.py main.sh test.py
==> main.py <==
#!/usr/bin/env python

import test

test.test()


==> main.sh <==
#!/usr/bin/env bash

python -m trace --trace main.py


==> test.py <==
def test1():
print "Hello World!"

def test():
test1()

~/linux/test/python/man/library/trace/import$ python -m trace --trace
--ignore-module=test main.py
--- modulename: main, funcname: <module>
main.py(3): import test
main.py(5): test.test()
Hello World!
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top