辞書をユーザー定義関数に渡したいと思います。辞書値に基づいて計算を行う必要があります。関数では動作しませんが、関数を使用しないとうまく動作します。私は確信していません、何がコードで間違っています。助けてください?エラーメッセージは表示されません。辞書を関数に渡すには?
入力:
"13-07-2016午前12時55分46秒"、ユーザ、192.168.10.100,192.168.10.20、CONNECT、200、 "www.abc.com"
「13 -07-2016 12:57:50 "、ユーザー、192.168.10.100,192.168.10.20、CONNECT、200、" www.abc.com "
" 13-07-2016 13:00:43 "、user、192.168 CONNECT、200、 "www.abc.com"
"13-07-2016 13:01:45"、ユーザー、192.168.10.100,192.168.10.20、CONNECT、200、 "www。 abc.com "
" 13-07-2016 13:02:57 "、ユーザー、192.168.10.100,192.168.10.20、CONNECT、200、" www.abc.com "
"13-07-2016 13:04:59"、ユーザー、192.168.10.100,192.168.10.20、CONNECT、200、 "www.abc.com"
"13-07-2016 13:06:51"、ユーザ、192.168.10.100,192.168.10.20、CONNECT、200、 "www.abc.com"
"13-07-2016 13:07:56"、ユーザ、192.168.10.100,192.168.10.20、CONNECT、200、 "www.abc.com"
コード:あなたはdef
キーワードを使用してPythonで関数を記述する場合
file_name = sys.argv[1]
fo = open(file_name, "rb")
def setdict():
dico,i={},0
line = fo.readline()
for line in fo:
date, user, proxy_ip, client_ip, access_method, con, sites = line.split(",")
sites = sites.rstrip('\n')
dico[i]= date, user, proxy_ip, client_ip, access_method, con, sites
return dico
def display(dico):
for k,v in dico.items():
print k,v
あなたの入力データは辞書ではありません – chenchuk
@chenchuk。それは1に変換されるので心配はありません –
あなたのコードは書かれているだけですureはうまく動作します)。 'setdict'と' display'のどちらも呼ばれていません。 –