Visual Studio Code: run Python file with arguments

前端 未结 7 805
被撕碎了的回忆
被撕碎了的回忆 2021-02-04 02:00

Is there an easy way to run a Python file inside Visual Studio Code with arguments?

I know I can add a custom configuration in the launch.json file with the

7条回答
  •  栀梦
    栀梦 (楼主)
    2021-02-04 02:24

    A workaround is to have your script ask for the command-line arguments (in the internal Visual Studio Code console).

    This can be made much more usable by leaning on readline, which allows you to do things like press the Up arrow key to cycle through previous commands (command history), and more. An example:

    import argparse, readline
    
    def main():
      # Ask for additional command line arguments if needed (for VSCode)
      parser = argparse.ArgumentParser()
      parser.add_argument('--interactive', action='store_true', default=False)
      (args, rest) = parser.parse_known_args()
      if args.interactive:
        try: readline.read_history_file()
        except: pass
        rest += input("Arguments: ").split(" ")  # Get input args
        try: readline.write_history_file()
        except: pass
    
      # Your other script arguments go here
      parser.add_argument("-output-dir", default="/out")
      # ...
      args = parser.parse_args(rest)
    
      print(args)
    
    if __name__ == "__main__":
      main()
    

    Then just set up Visual Studio Code to always pass in the --interactive argument, and your script will always ask for arguments (with history!) even as you set breakpoints.

提交回复
热议问题