ネットワークの速度を計測し、CSVファイルに書き込み/追記するプログラムを
作成しておりますが、下記、2カ所で、NameError xxx date_str is not defined(そんなの定義されてないよ) が発生してしまいます。
CSVファイルを作成/追記する関数**def get_Speed_File(speedData):**内で
変数として定義するべきなのか、定義する場合は、どのように定義するのか、
または、**def get_Speed_File(speedData):**に渡す引数が間違っているのか
分からない状態です。
ご教示いただければと思います。
python
1writer.writerow([date_str, time_str, mbps_down_result, mbps_up_result])
python
1writer.writerow({'Date': date_str, 'Time': time_str, 'Download': mbps_down_result, 'UPload':mbps_up_result })
python
1import csv 2import os 3import datetime 4import speedtest 5 6# 計測結果を記述するCSVファイル作成/追記 7def get_Speed_File(speedData): 8 f_name = 'SpeedTest.csv' 9 10 # SpeedTest.csvが存在する場合は、結果を追記 11 if (os.path.exists(f_name)): 12 with open(f_name, 'a', newline='') as csv_file: 13 writer = csv.writer(csv_file) 14 writer.writerow([date_str, time_str, mbps_down_result, mbps_up_result]) 15 else: 16 # SpeedTest.csvが存在しない場合は、speedTest.csvを作成し、計測結果を記載 17 # フィールドは、「計測日(YYYY/MM/DD)」「計測実施時間(HH:MM)」「Download速度」「Upload速度」 18 with open(f_name, 'w', newline='') as csv_file: 19 filednames = ['Date', 'Time', 'Download', 'UPload'] 20 writer = csv.DictWriter(csv_file, fieldnames=filednames) 21 writer.writeheader() 22 writer.writerow({'Date': date_str, 'Time': time_str, 'Download': mbps_down_result, 'UPload':mbps_up_result }) 23 24def get_speed_test(): 25 servers = [28910, 20976] 26 stest = speedtest.Speedtest() 27 stest.get_servers(servers) 28 stest.get_best_server() 29 return stest 30 31 32def command_line_runner(): 33 # 「計測日(YYYY/MM/DD)」「計測実施時間(HH:MM)」を設定 34 tmp_day = datetime.date.today() 35 tmp_time = datetime.datetime.today() 36 date_str = tmp_day.strftime('%Y/%m/%d') 37 time_str = tmp_time.strftime('%H:%M') 38 39 stest = get_speed_test() 40 down_result = stest.download() 41 up_result = stest.upload() 42 mbps_down_result = int(down_result / 1024 /1024) 43 mbps_up_result = int(up_result / 1024 /1024) 44 45 # 「計測日(YYYY/MM/DD)」「計測実施時間(HH:MM)」「Download速度」「Upload速度」の 46 # 計測結果をresult 変数に格納 47 result = [date_str, time_str, mbps_down_result, mbps_up_result] 48 # SpeedTest.csv作成/追記するための関数呼び出し。引数に計測結果(result)をセット 49 get_Speed_File(result) 50 51 print(result) 52 53command_line_runner() 54
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/29 01:23
2020/11/29 02:17
退会済みユーザー
2020/11/30 12:08