ip2location仅用于查找特定位置的IP地址

时间:2017-06-21 04:36:51

标签: python ip2location

我正在使用ip2location查找名为output.txt的文件中的ip地址列表的位置,并将答案写在另一个文件ip_info.txt中。我想只写我的文件中的ip地址为美国。以下是我执行此操作的代码。

import IP2Location;
import urllib; 
import time;
start_time = time.time()
IP2LocObj = IP2Location.IP2Location();
IP2LocObj.open("data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE.BIN"); 
 t=open('ip_info','w');
 with open('output','r') as f: # file containing ip addresses
 for line_terminated in f:
     line= line_terminated.rstrip('\r\n'); # strip newline
     if line: # non-blank lines
        rec = IP2LocObj.get_all(line);
        if(rec.country_short == 'US')
           t.write(line);
           t.write('\t');
           t.write(rec.country_short);
           t.write('\n');
print("--- %s seconds ---" % (time.time() - start_time))

我在这里收到以下错误。

File "myprogram.py", line 13
if(rec.country_short == 'US')
SyntaxError: invalid syntax

供参考,您可以查看https://www.ip2location.com/developers/python

1 个答案:

答案 0 :(得分:1)

if(rec.country_short == 'US')不是有效的Python。

你的意思是:

if rec.country_short == 'US':