Python 如果没有值,则不执行其他操作

Python 如果没有值,则不执行其他操作,python,xbmc,Python,Xbmc,这是密码 import subprocess,os import xbmcgui import xbmc import xbmcaddon import urllib2 import re import string #Initialize value for ref. menu = 0 video = 0 audio = 0 music_title = 0 music_title1 = 1 #Initialize ADDON sett

这是密码

import subprocess,os
import xbmcgui
import xbmc
import xbmcaddon
import urllib2
import re
import string

#Initialize value for ref.
menu          = 0
video         = 0
audio         = 0
music_title   = 0
music_title1  = 1

#Initialize ADDON
settings = xbmcaddon.Addon(id='micasaverde.addon')

#Initialize ADDON INFORMATION
ip  =  settings.getSetting( "vera_ip" )
dev  =  settings.getSetting( "vera_dev" )

while (not xbmc.abortRequested):
    win   = (xbmcgui.getCurrentWindowId())

    if xbmc.Player().isPlayingAudio():
        tag = xbmc.Player().getMusicInfoTag()
        music_title = tag.getTitle()
        music_title = music_title.replace(' ', '_')
        if music_title != music_title1:
            urllib2('http://%s:3480/data_request?id=variableset&DeviceNum=%s&serviceId=urn:upnp-org:serviceId:XBMCState1&Variable=IdleTime&Value=%s' % (ip, dev, music_title))
        music_title1 = music_title
问题是,有时它会发送命令,但url末尾没有值(music_title),导致代码崩溃。只有在url中包含某些内容时,我才能发送url。我试图在网上搜索,但没有成功 谢谢 迈克改变:

if music_title != music_title1:
致:


为什么不先测试一下
music\u title
的值,然后再进行调用并根据该测试格式化URL?只要
标记就可以了。getTitle()
永远不会返回由空格组成的内容(下一条语句会将其转换为下划线。如果它都是空格,它就不会通过
music\u title.strip()
test,因为
strip
会将其转换为空字符串。测试之前的
music\u title=music\u title.replace('''.''.''.'
会将所有空格的字符串更改为所有下划线之一,因此它会传递
music\u title.strip()
conditional的一部分。你说得对,我错过了这一部分。接下来由OP决定什么是正确的行为。
if music_title.strip() and music_title != music_title1: