最近Pythonでプログラミングを始めましたが、inet_nota
とinet_aton
がどのようにPythonで動作するかを理解するのに問題があります。 PHP/MySQLから来て、私はいつも長い変数としてデータベースにIPアドレスを格納してきました。また、mysqlのinet_ntoa
メソッドは、長い変数をパラメータとして受け取り、IPのドット付き形式を返します。したがって、Pythonのバージョンは同様の仕組みで動作すると仮定しました。しかし、Pythonのinet_ntoa
は32ビットのパックドバイナリ形式が必要です。だから、167772160
の値として格納されているIPアドレスを持って、どのようにinet_ntoa
メソッドで必要な32ビットのパックドバイナリ値(\x7f\x00\x00\x01
のような)に変換できますか? Pythonでinet_ntoa関数をPythonで使用しています
どうもありがとう
私は自分のプロジェクトにパジャマを使用しています。「StructErrorを発生させてください。」引数はi、I、l、L、q、Q、h、Hは整数でなければなりません。何も問題なく動作しているようですが、これに対処する方法はありますか? – tibi3384
@ tibi3384おそらくあなたは数字の文字列を持っているからです。 'int'のように' struct.pack( '!I'、int(string_ip_number_variable) )) '。 – phihag
あなたはそうだね、それを見つけたはずです!完璧に動作します。私はまだキャストが自動的に実行されていたPHPに慣れています:) – tibi3384