簡體   English   中英

比較Python中的兩個列表

[英]Compare two lists in Python

所以這是我要比較的代碼。 我想做的是從路徑目錄中列出appids,這是可行的。 然后,我試圖去一個網站(f)。 並解析html頁面並獲取該站點上列出的appid。

我想要做的是從本地系統獲取appid,搜索f(來自站點的app id),然后返回appid是什么。

當我打印appid時:

D:\python>jump_me.py |more
1b4dd67f29cb1962
28c8b86deab549a1
431a5b43435cc60b
4975d6798a8bdf66
7e4dca80246863e3
8eafbd04ec8631
9b9cdc69c1c24e2b
bc03160ee1a59fc1

當我打印f時,這是從網上解析的數據,我得到:

65009083bfa6a094 | (app launched via XPMode) |
469e4a7982cea4d4 | ? (.job) |
b0459de4674aab56 | (.vmcx) |
89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit) |
26717493b25aa6e1 | Adobe Dreamweaver CS5 (32-bit) |
e2a593822e01aed3 | Adobe Flash CS5 (32-bit) |
c765823d986857ba | Adobe Illustrator CS5 (32-bit) |
84f066768a22cc4f | Adobe Photoshop CS5 (64-bit) |
44a398496acc926d | Adobe Premiere Pro CS5 (64-bit) |

我想將appid與f進行比較,並打印相應的項目:

就像appid = 89b0d939f117f75c

f = 89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit)

所以我希望它返回89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit) 基於目錄列表的89b0d939f117f75c | Adobe Acrobat 9 Pro Extended (32-bit)

說得通?

- - 碼 - -

import os
import sys
import urllib2
from BeautifulSoup import BeautifulSoup

path = ("C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations")
for ids in os.listdir(path):
appid = "%s" % (ids).rstrip('.automaticDestinations-ms')
#print appid

f = urllib2.urlopen("http://www.forensicswiki.org/wiki/List_of_Jump_List_IDs")
s = f.read()

soup = BeautifulSoup(''.join(s))
rows = soup.findAll('tr')

for tr in rows:

    cols = tr.findAll('td', limit=2)
    for td in cols:
        text = ''.join(td.findAll(text=True))

        print text + " |",
    print "\n".strip()
f.close

從f制作字典,並使用appid作為鍵。

您想要執行以下操作:

if appid == td.split('|')[0].strip():
    print td

我認為。 但是我不清楚任何數據實際上在哪里:您的示例檢索數據與您對BeautifulSoup所做的操作不匹配: td可能是檢查錯誤的地方。

但是重點是,您需要將appid與正在搜索的文本的某些子字符串進行比較。 但是,您沒有進行任何比較,所以我不知道您應該將其放在哪里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM