0

これが私のコードです:

for line in open(logfile):
        if "ESSID" in line:
            begin = line.replace(" ", "")
            mid = begin.replace("ESSID:", "")
            final = mid.replace('"', "")
            print final
            self.APList.SetStringItem(self.index, 0, final)
            line = open(ilogfile).readline()
            if begin in line:
                connect = "yes"
            else:
                connect = "no"
            self.APList.SetStringItem(self.index, 3, connect)  

スキャンしているファイルは次のとおりです (そのうちの 1 つです)。

wlp2s0    IEEE 802.11bgn  ESSID:"MomAndKids"
      Mode:Managed  Frequency:2.462 GHz  Access Point: E0:91:F5:7D:C9:14
      Bit Rate=18 Mb/s   Tx-Power=20 dBm
      Retry  long limit:7   RTS thr=2347 B   Fragment thr:off
      Encryption key:off
      Power Management:off
      Link Quality=62/70  Signal level=-48 dBm
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:603   Missed beacon:0

私がテストしようとしているメインコード:

line = open(ilogfile).readline()
            if begin in line:
                connect = "yes"
            else:
                connect = "no"

「begin」の代わりに「final」を使用し、最初の行の代わりにファイル全体を読み取ろうとしました(「final」変数と「begin」変数の両方を使用)。どちらも機能しませんでした。なぜこれが機能しないのですか?

完全なソースについては、 https ://github.com/codywd/WiFiz/blob/master/main.py で入手できます。

編集: インデントは、実際のコードではなく、stackoverflow でのみ壊れています。

編集2:他のファイルにはこれが含まれています:

wlp2s0    Scan completed :
          Cell 01 - Address: E0:91:F5:7D:C9:14
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=66/70  Signal level=-44 dBm
                    Encryption key:on
                    ESSID:"MomAndKids"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=00000278820a146f
                    Extra: Last beacon: 80ms ago
                    IE: Unknown: 000A4D6F6D416E644B696473
                    IE: Unknown: 010882840B162430486C
                    IE: Unknown: 03010B
                    IE: Unknown: 2A0104
                    IE: Unknown: 2F0104
                    IE: Unknown: 32040C121860

関連する部分は、そのファイルの先頭にあります。

4

1 に答える 1

0

以下は正常に機能しているようです。

line = open(ilogfile).readline()

if final.strip() in line.strip():
    connect = "yes"
else:
    connect = "no"
于 2013-02-03T08:09:02.667 に答える