よし、ワイヤレスネットワークに接続するためのプログラムを書いているところだ。私はそれのほとんどをダウンさせました (実際、それは完全です。私は追加機能に取り組んでいます。)
Arch Linuxオペレーティングシステム用のNetCTLと呼ばれるワイヤレスネットワーク接続バックエンドのGUIフロントエンドを書いています。基本的に、手動でプロファイルを作成し、好きな名前を付けることができます (つまり、「asdfasdfasdf」) が、私の場合は常に $NetworkSSID_wifiz が生成されます。
ただし、すべてのファイルには、同じネットワーク用であるかどうかを判断できる行が 1 つあります。
行は次のとおりです。
ESSID='$NetworkSSID'
では、os.listdir に表示される各ファイルを開き、これら 2 つのファイルに同じ行があるかどうかを確認するにはどうすればよいでしょうか (ただし、オーバーヘッドが大きくなりすぎないことが望ましいです)。
すべてのプロファイルは、プログラムによって生成されたか、ユーザーによって生成されたかにかかわらず、/etc/netctl に保存されます。
サンプル ファイル:
ユーザー作成:
Description='A simple WPA encrypted wireless connection'
Interface=wlp2s0
Connection=wireless
Security=wpa
IP=dhcp
ESSID='MomAndKids'
# Prepend hexadecimal keys with \"
# If your key starts with ", write it as '""<key>"'
# See also: the section on special quoting rules in netctl.profile(5)
Key='########'
# Uncomment this if your ssid is hidden
#Hidden=yes
私のプログラムによって作成されました:
Description='A profile generated by WiFiz for MomAndKids'
Interface=wlp2s0
Connection=wireless
Security=wpa
ESSID='MomAndKids'
Key='#######'
IP=dhcp
os.listdir の出力例:
['hooks', 'interfaces', 'examples', 'ddwrt', 'MomAndKids_wifiz', 'backups', 'MomAndKids']