executing scripts via command line

Reply

Join Date: Nov 2008
Posts: 2
Reputation: payne_99 is an unknown quantity at this point 
Solved Threads: 0
payne_99 payne_99 is offline Offline
Newbie Poster

executing scripts via command line

 
0
  #1
Nov 21st, 2008
Hello!

I'm trying to execute a simple script in the command line, and for some reason, it's not working. Shouldn't it be as simple as this?

  1. python myscript.py

And yet when I try that, I get "Syntax Error: invalid syntax"

I've googled around, read through the docs--I have a feeling that this is probably something silly/small. Any help?

Thanks!
Reply With Quote Quick reply to this message  
Join Date: Jul 2008
Posts: 887
Reputation: Gribouillis has a spectacular aura about Gribouillis has a spectacular aura about Gribouillis has a spectacular aura about 
Solved Threads: 209
Gribouillis's Avatar
Gribouillis Gribouillis is offline Offline
Practically a Posting Shark

Re: executing scripts via command line

 
0
  #2
Nov 21st, 2008
The syntax error is somewhere in your script. Can you post the script (or attach it) ?
Reply With Quote Quick reply to this message  
Join Date: Nov 2008
Posts: 2
Reputation: payne_99 is an unknown quantity at this point 
Solved Threads: 0
payne_99 payne_99 is offline Offline
Newbie Poster

Re: executing scripts via command line

 
0
  #3
Nov 21st, 2008
Ah, I see. So the actual command I was trying to execute was

  1. python controller.py

I checked controller.py, and got an error message:

Traceback (most recent call last):
File "C:\Users\p\controller.py", line 3, in <module>
exec "from " + sys.argv[1] + " import *"
IndexError: list index out of range

Here's the script:

  1. import sys
  2. from tichu import *
  3. exec "from " + sys.argv[1] + " import *"
  4.  
  5. def exampleFeatureFunction(hand):
  6. fv=[0, 0, 0]
  7. fv[0]=1
  8. if (hand[DRAGON]>0):
  9. fv[1]=1.0
  10. if (hand[PHOENIX]>0):
  11. fv[2]=1.0
  12. return fv
  13.  
  14. def alwaysSayNo(hand, model):
  15. return False
  16.  
  17. if __name__=="__main__":
  18. if (sys.argv[3]=="baseline"):
  19. evaluate(sys.argv[2], None, alwaysSayNo)
  20. elif (sys.argv[3]):
  21. evaluate(sys.argv[2], sys.argv[3], eval(sys.argv[4]))

There are other files (the "tichu" file it's importing from); let me know if you need to see more.
Reply With Quote Quick reply to this message  
Join Date: May 2008
Posts: 893
Reputation: Paul Thompson has a spectacular aura about Paul Thompson has a spectacular aura about 
Solved Threads: 143
Sponsor
Paul Thompson's Avatar
Paul Thompson Paul Thompson is offline Offline
previously paulthom12345

Re: executing scripts via command line

 
0
  #4
Nov 21st, 2008
Your problem is that sys.argv is what you supply on the command line after starting the script. So you would go
  1. python mycode.py arg1 arg2
For yours to work you need at least 2 arguments for there to be sys.argv[1]
Make it idiot proof and someone will make a better idiot.
Check out my Site | and join us on IRC | Python Specific IRC
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Python Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC