0

I would like to run an external Python script that gets 4 arguments. If I would like to run the Python script in cmd it would look like this: python Required\Python\screenshot.py-master\screenshot.py --nojs -thumb http://google.com/ Required\Images\Screenshots\google.jpg So, I would like to run this command from Go. How could I implement this? Thanks.

4
  • Do the examples in the docs help? golang.org/pkg/os/exec Commented Feb 20, 2016 at 20:06
  • nope, unfortunately I searched everywhere for some info but I can't run that Python script from Go Commented Feb 20, 2016 at 20:30
  • If following the documentation doesn't help, you need to show what you've tried that isn't working, what the error is, and what you expect to happen. Otherwise we're just rewriting the same examples from the docs. Commented Feb 20, 2016 at 20:33
  • You seem to be using windows - are those paths correctly escaped? Commented Feb 20, 2016 at 20:43

1 Answer 1

2

If examples from doc are not helpful, maybe this will make it easier for you.

test.go:

package main

import (
    "log"
    "os"
    "os/exec"
)

func main() {
    log.Println(os.Args)
    if len(os.Args) == 1 {
        return
    }
    cmd := exec.Command(os.Args[1], os.Args[2:]...)
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    log.Println(cmd.Run())
}

test.py:

import sys
print sys.argv

usage:

$ go run test.go python test.py 1 two 3 four
2016/02/20 21:45:42 [/tmp/go-build772613382/command-line-arguments/_obj/exe/test python test.py 1 two 3 four]
['test.py', '1', 'two', '3', 'four']
2016/02/20 21:45:42 <nil>
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.