我正在使用tkinter设计一个GUI,用户将在其中输入特定信息,点击“创建”按钮后,该信息将按特定顺序排列,输出将以文本形式显示给用户框。我遇到的问题是“创建”功能的设计。我相信我必须使用多个If语句才能完成此任务,但我在文本框中输出的输出是“tcpdump -i eth1 None host 9.9.9.9NoneNone”。显然,我不希望包括“无”,我该怎么纠正这个?下面是我的“创建”功能。
谢谢,
def create(self):
data = "tcpdump "
data += "-i " + self.int_entry.get() + " "
if self.anyInt.get():
data += "any "
if self.src_entry.get() and not self.srcIP.get():
data += "host " + self.src_entry.get() + " "
elif self.src_entry.get() and self.srcIP.get():
data += "src " + self.src_entry.get()
data += self.AndOr.get() + " "
if self.notDst.get():
data += "not "
if self.dst_entry.get() and not self.dstIP.get():
data += "host " + self.dst_entry.get()
elif self.dst_entry.get() and self.dstIP.get():
data += "dst" + " " + self.dst_entry.get()
data += self.AndOrport.get()
if self.notSrcPort.get():
data += "not "
if self.srcport_entry.get():
data += "src port " + self.srcport_entry.get() + " "
data += self.SrcDstport.get()
if self.notDstPort.get():
data += "not "
if self.dstport_entry.get():
data += "dst port " + self.dstport_entry.get()
self.filterData.delete(0.0, END)
self.filterData.insert(0.0, data)
def main():
root = Tk()
app = Example(root)
root.mainloop()
if __name__ == '__main__':
main()
答案 0 :(得分:1)
如果是,则必须使用一次,否则使用。 您也可以处理案例。与图书馆见面并阅读一本关于C ++和C开发的好书。或在线教程。