将变量添加到字符串

时间:2017-10-06 14:32:31

标签: python

我添加了这行代码:

tweet_string = 'Starting activity for insta'
os.system("python3 tweet.py tweet_string")

正如您所看到的,推文脚本使用第一个参数作为推文上下文。不幸的是我不知道如何使用变量正确...你能帮助我吗?

2 个答案:

答案 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}"')