0

我需要在我的网络刮板中排除以 .od .jpg .pdf 或 .mp3 结尾的打印链接

这是我的if声明

if link in linkList():
      print link

Python中有一些库吗?我只知道“RegEx”,但我不是它的最大用户。

4

2 回答 2

1

假设您的链接只是路径,您可以执行以下操作:

import os
if os.path.splitext(link)[1] not in ['.jpg', '.pdf', '.mp3']:
    print link

该函数splitext接受一个路径并返回一个元组,该元组包含不带扩展名的路径,后跟扩展名。例如:

>>> os.path.splitext('http://www.example.com/path/to/filename.ext')
('http://www.example.com/path/to/filename', '.ext')

因此,如果您使用该函数拆分链接,您可以检查元组的最后一个元素是否是包含您的扩展黑名单的另一个列表/集/元组的成员。

于 2013-08-26T13:53:01.697 回答
1

另一种方式。解决方案可能更好,os.path.splitext但只是查看一个字符串是否以多个子字符串之一结尾:

if link.endswith((".pdf", ".mp3", ".jpg")):
    print link
于 2013-08-26T14:38:43.900 回答