python - Exec function working for one method, and not the other -


context: part of code running inside of class called commands, within method called looper. idea code, when input python command line, if 1 word, runs method name. if greater 1 word, take takes first word, make method command, , else argument.

cmd =  input("user>>> ")  cmdsplit = cmd.split() lencmd = len(cmdsplit)  if (lencmd== 1):     cmd = "commands." + cmd + "()"     print(type(cmd))     logging.debug("this length of 1")     try:         exec (cmd)     except:         print ("not valid command.") 

it appears, when type chrome (one of methods posted below) line, exec breaks, , wont work. if use hearth (the other method, works fine). cant see reason chrome not work, hearth work. exec not word chrome?

def chrome():     subprocess.popen("chrome.bat", cwd=r"c:\cmdcommands")  def hearth():     subprocess.popen("hearth.bat", cwd=r"c:\cmdcommands") 

output program:

user>>> chrome <class 'str'> debug:root:this length of 1 not valid command user>>> hearth <class 'str'> debug:root:this length of 1 user>>>     

you used hanging try: , except: statement, mentioned in comments.

instead, specific exceptions can used more accurately pinpoint cause of issues in python program, such valueerror or typeerror.


Comments

Popular posts from this blog

html - Styling progress bar with inline style -

java - Oracle Sql developer error: could not install some modules -

How to use autoclose brackets in Jupyter notebook? -