【发布时间】:2018-10-29 18:00:24
【问题描述】:
我正在尝试用 Python 编写这个简单的代码:如果 csv 文件的一行的第二个元素包含“malware_list”列表中指定的系列之一,则主程序应打印“true”。但是,结果是程序总是打印“FALSE”。
文件中的每一行都采用以下格式: “姓名,家庭”
这是代码:
malware_list = ["FakeInstaller","DroidKungFu", "Plankton",
"Opfake", "GingerMaster", "BaseBridge",
"Iconosys", "Kmin", "FakeDoc", "Geinimi",
"Adrd", "DroidDream", "LinuxLotoor", "GoldDream"
"MobileTx", "FakeRun", "SendPay", "Gappusin",
"Imlog", "SMSreg"]
def is_malware (line):
line_splitted = line.split(",")
family = line_splitted[1]
if family in malware_list:
return True
return False
def main():
with open("datset_small.csv", "r") as f:
for i in range(1,100):
line = f.readline()
print(is_malware(line))
if __name__ == "__main__":
main()
【问题讨论】:
-
Python 有一个
csv模块,它知道如何正确解析 CSV 文件(这比在它看到的每个逗号上简单地分割一行更复杂)。 -
csv文件的内容是什么?
-
@Daniel it's formed by lines in this form: 090b5be26bcc4df6186124c2b47831eb96761fcf61282d63e13fa235a20c7539,Plankton bedf51a5732d94c173bcd8ed918333954f5a78307c2a2f064b97b43278330f54,DroidKungFu 149bde78b32be3c4c25379dd6c3310ce08eaf58804067a9870cfe7b4f51e62fe,Plankton
-
@Pierfrancesco:编辑你的问题
-
您知道您的输入将始终与您在恶意软件列表中使用的大写形式匹配吗?