【发布时间】:2018-02-18 05:56:42
【问题描述】:
我是 python 的初学者,我有一个包含 URL 列表的 txt 文件,当我想扫描 txt 文件时,我在最后一个错误中出现了键盘中断。这是我的代码
如果 name == "main":
# Directory that contains panafapi.py
SCRIPT_DIRECTORY = "/Users/kiya/Downloads/panpython/bin"
RES_DIRECTORY = "/Users/kiya/Desktop/result/"
TODAY = datetime.date.today().strftime("%Y%m%d")
CHECK_DATE, NOW_DATE = "2018-01-01", "2018-01-31"
try:
url_file = sys.argv[1]
except Exception:
print("Usage: python3 {} [url file]".format(sys.argv[0]))
sys.exit()
url_file = str(url_file)
df=open(url_file,"r",encoding="utf-8", errors='replace')
data=df.readlines();df.close()
urlPattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
url_list = []
for url in data:
dt = url.strip()
dt = re.findall(urlPattern,dt)# get URLs
if dt:
url_list.append(dt[0])
print("Read {} Url(s)".format(len(url_list)))
group_i = 0
【问题讨论】:
-
不要在
check_output()调用的中间构造你的命令。在函数调用之外构造字符串,例如cmd = "....".format(....),然后是checkoutput(cmd)。为什么?因为当你的命令不起作用时,你可以打印 cmd,并尝试确定该命令出了什么问题,就像在命令行上尝试打印出的命令,看看它是否有效。
标签: python data-analysis