我试图做一个脚本,用一些不同的命令运行另一个python脚本。我想验证用户并搜索用户提供的歌曲。然后脚本验证Spotify帐户,搜索给定的歌曲然后播放它。如何使用参数在另一个python脚本中运行函数?
这里是它的外观时验证Respotify的时刻:
python respotify.py john doe
搜索一首歌:
search Wrecking Ball
播放歌曲搜索结果的指定次数后会:
play 1
我知道我可以调用这个函数,例如在我的play.py文件中:
import os
os.system = ("search Wrecking Ball")
但我想让我的“play.py”在后台运行respotify.py。我已经尝试将它放入respotify.py函数中,以便可以在脚本启动时调用歌曲。
import os
os.system = "search Wrecking Ball"
我试过了,但我的脚本会忽略它。
但我认为它比这更复杂。你可以找到respotify.py here:
解决我的问题,立即关闭感谢nickie
他的回答是:
from subprocess import Popen, PIPE
p = Popen(["python", "respotify.py", "john", "doe"], stdin=PIPE, stdout=PIPE)
print >> p.stdin, "search Wrecking Ball"
output = p.communicate()[0]
但我得到这个错误在我的控制台:
File "respotify.py", line 338, in <module> command_loop() File "respotify.py", line 29, in command_loop command = raw_input().split(" ") EOFError: EOF when reading line
如何解决上述错误?
您是否尝试与其他脚本进行交互,发送命令,然后等待提示和响应?如果是这样,请查看['pexpect'](http://www.noah.org/wiki/Pexpect)。但我认为您不需要首先执行此操作... – abarnert