我添加了这行代码:
tweet_string = 'Starting activity for insta'
os.system("python3 tweet.py tweet_string")
正如您所看到的,推文脚本使用第一个参数作为推文上下文。不幸的是我不知道如何使用变量正确...你能帮助我吗?
答案 0 :(得分:4)
当然,不要在文字字符串中传递变量名...
只是添加引号并不会因为空格而削减它。你必须用引号保护。
它应该是:
os.system('python3 tweet.py "{}"'.format(tweet_string))
(更好,但是如果tweet_string
中有引号,则会再次出现问题)
无论如何:不要使用os.system
它已被弃用。这样更好并自动处理引用:
import subprocess
subprocess.check_call(["python3","tweet.py",tweet_string])
(Python 3.5添加了一个统一的subprocess.run
方法,它可以检查返回代码,是否重定向变量输出,如果你不需要兼容,这是运行子进程的推荐方法以前的版本)
当然,在python模块中运行python子进程时总要问自己这个问题:导入模块并调用函数会不会更容易?
答案 1 :(得分:1)
一般
('python3 tweet.py "' + tweet_string + '"')
如果您使用的是python 3.6
f('python3 tweet.py "{tweet_string}"')