![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.11
- 回答日時:
もし、test_file_16.pyの提示ができない場合は、だめもとで、
以下のスクリプトを組み込んでください。
https://ideone.com/9l3i2a
起動パラメータを受け取る個所を削除し、直接、log.csv及び6000を指定するように修正しました。
その場合は、念のため、test_file_16.pyのバックアップをとっておいてください。
出来ました!!
自宅で簡単なcsv書き込みのプログラムに入れてしっかり動いてくれました!!
ありがとうございます!!
明日会社で実装しますので、その後ベストアンサーで
またお返事させていただきます!
ほんとにありがとうございました!
なにぶん初心者ですので色々とご迷惑をお掛けしました。
また悩んだ時にはお力添えをお願いできましたらと思います。
ありがとうございます。
No.10
- 回答日時:
>/home/pi/Desktop/OR/test_file_16.py
>の中にコードを追記するかたちにしたいのですが、
>頂いたコードをごっそり入れてしまえば良いでしょうか?
test_file_16.pyに組み込めるかどうかは、test_file_16.pyの内容を見てみないと何とも言えません。
また、組み込むにしても、起動パラメータを取得している個所は削除する必要があるので、手直しが必要です。したがって、そのままごっそり入れた場合は、正しく動作しません。
test_file_16.pyの内容を提示可能であれば、その内容をみて、こちらで判断することは可能です。
ご親切なご回答ありがとうございます!
この条件分岐の部分でいけませんか?
全文見て頂きたいのですが、500行を超えてまして、、、。
if white_area_O > 900
date = datetime.now().strftime("%Y%m%d_%H%M%S")
cv2.imwrite("/home/pi/Desktop/OR/OK/oring_OK_"+date+".jpg",img)
result = "OK"
result = date + "," + result + "," + str(white_area_O) + "," + str(white_area_P)
result = result.split(',')
with open('/home/pi/Desktop/OR/log.csv', 'a') as f:
writer = csv.writer(f)
writer.writerow(result)
f.close()
print("loggging done, see log.csv.")
if len(files) >= 6000:
files.sort()
os.remove(dir_path + files[0])
こんな感じなんですがどうでしょうか?
ネストがおかしいですが。。。
No.9
- 回答日時:
>私の使用しているcsvファイルは”log”と言う名前です。
>3行目の部分をlogと6000に入替えれば良いのですか?
スクリプトを実行するときに、起動パラメータとして指定します。
このスクリプト名をsample.pyとすると
python sample.py /home/pi/Desktop/OR/log 6000
のように指定します。
logが /home/pi/Desktop/ORに格納されている場合です。
スクリプトの内容は一切変える必要はありません。
もし、log及び6000を起動パラメータとして指定するのではなく、
スクリプトに直接埋め込みたい場合は、その旨補足してください。
ご丁寧にありがとうございます!
私の説明が下手ですいません。。。
少し頭を整理させて下さい。
/home/pi/Desktop/OR/test_file_16.py
と言うスクリプトを実行すると、logと言う名の
csvファイルが日々400行程書込まれていきます。
そのパスは/home/pi/Desktop/OR/log.csvです。
出来ましたら
/home/pi/Desktop/OR/test_file_16.py
の中にコードを追記するかたちにしたいのですが、
頂いたコードをごっそり入れてしまえば良いでしょうか?
色々とご迷惑をお掛けしてしまってすいません!
なにぶん初心者でしてorg。
No.8
- 回答日時:
>実務が多忙を極めており実装が暫く出来ない状況なので、まだこちらのスレッドを締切りたくないのですが、ベストアンサーで良いと思うのですが。
そのような状態でしたら、実装が終わって、動作確認後締め切ってください。動作確認時、不具合、不都合があればご指摘ください。
一応こちらで、動作確認済みですが、pythonは不慣れなので、不具合等があるかもしれません。
大変ご親切にありがとうございます!
この週末に自宅にて確認できましたら、と、思っておりますが、私の使用しているcsvファイルは”log”と言う名前です。
3行目の部分をlogと6000に入替えれば良いのですか?
すいません、初心者でしてorg。。。
No.7
- 回答日時:
python3のスクリプトを下記にアップしました。
https://ideone.com/XSWSS4
python スクリプト名 CSVデータ名 6000
のように入力すると、6000行を超えた分が前から削除されてCSVデータ名に格納されます。元のファイルはCSVデータ名.backupとなって保存されます。
御回答ありがとうございます!
実務が多忙を極めており実装が暫く出来ない状況なので、まだこちらのスレッドを締切りたくないのですが、ベストアンサーで良いと思うのですが。
わざわざ書いて下さったのですか?
No.6
- 回答日時:
すみません。
「perl かrubyなら可能です。」と書いたのは、perl かrubyのスクリプトで良いなら私が提供可能です、という意味です。
ラズパイでperlかrubyが使えるかは、
perl -v
ruby -v
のコマンドを打ってみてください。
それらがインストールされているなら、
ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 33 registered patches, see perl -V for more detail)
のようなバージョンが表示されます。
No.5
- 回答日時:
念のため確認です。
スクリプトでCSVデータを更新するときに、ラズパイ側でそのCSVファイルをオープンしていると、スクリプトが正しく動作しません。
スクリプト実行時、ラズパイ側でCSVデータを開放していることが保障されますでしょうか。
丁寧なご回答ありがとうございます!
ラズパイでPythonとC言語以外使えるのですか?
すいません初心者なもので、よくわからず。。。
CSV内に漢字データはありません。アルファベット及び数字です。
ラズパイでCSVデータの書き込みをしているので常に開放というわけにはいかないプログラムとなっています。。。
こちらは写真データが6000件溜まったら一番古いファイルを1件消去する
というプログラムなんですが、この様なかたちで出来るのかなぁと思ってはいるのですが。。。
dir_path = "/home/pi/Desktop/OR/OK"
files = os.listdir(dir_path)
if len(files) >= 6000:
files.sort()
os.remove(dir_path + files[0])
No.3
- 回答日時:
>言語はPythonが良いです。
perl かrubyなら可能です。
>6000行まで溜まったら最初の1行目が削除され、全体が上方にシフトする様な。
この仕様で作りたいと思います。
ファイル名 と 最大行数 を指定し、
そのファイルが最大行数を超えていれば、超えた分の行数を前から削除し、
残りを指定ファイルに書き込みます。元のファイル名は、ファイル名.backupの名称に変更されます。
従って、ファイル名がsampl.csv とすれば
スクリプト名 sample.csv 6000
のように入力します。
上記の仕様でよろしいでしょうか。
念のため確認ですが、CSVファイル中に漢字のデータはありますか。
ある場合、その文字コードはなんでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cygwinでcshが認識されず困って...
-
CシェルプログラミングをCygwinで?
-
シェルでsyntax errorがでてしまう
-
perlスクリプトのブラウザURLか...
-
crontab での実行結果が違う
-
下階層のファイルを含めての最...
-
VBSがコンパイルエラーになりま...
-
LCD ディスプレイを Raspberry ...
-
VBでグローバル変数を宣言するには
-
例外処理のフローチャートの記...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォー...
-
ユーザーフォームに最小化・最...
-
Access VBA標準モジュールにつ...
-
PerlモジュールをWindowsアプリ...
-
Sub Workbook_Open()でユーザー...
-
シートモジュールで使う変数を...
-
オフコン(富士通Kシリーズ)...
-
教えて下さい。
-
Perl モジュールのアンインスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Cからシェルを起動し返り値をハ...
-
Perlのライセンス
-
VBScriptでCurrentDirectoryを...
-
powershellで関数名を変更する...
-
"JScript"が見つかりません!
-
cygwinでcshが認識されず困って...
-
VBSで自動ログインについて
-
[ASP]条件によってインクルード...
-
ADサーバにおけるログインID,PC...
-
UWSCのスクリプトにラグが発生...
-
VBSを利用して、IEのタブを自動...
-
perl起動方法
-
Perlスクリプトで文字化けして...
-
CシェルプログラミングをCygwinで?
-
vbs: オブジェクトがコレクショ...
-
perlスクリプトのブラウザURLか...
-
awkの処理速度を改善したい
-
TeraTermマクロでの出力キャッチ
-
pythonスクリプトの停止方法に...
-
シェルでsyntax errorがでてしまう
おすすめ情報