LoginSignup
0
0

More than 3 years have passed since last update.

薬理学実習_鎮静睡眠麻酔薬

Posted at
time.sh
name=$1
conc=$2
sleep 540; say "{$1}、1分前です"
sleep 60;  say "{$1}、時間です"
say "次の投与濃度は{$2}分の1です"
time.py
import numpy as np
import os,sys
import pickle
import pandas as pd

import argparse

#最初の引数受付
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', type=str, default=None, help='person name')
parser.add_argument('-d', '--drug', type=str, default=None, help='drug name')

args = parser.parse_args(sys.argv[1:])
name = args.name
drug = args.drug

time_path = 'time.sh'
os.system(f'chmod +x {time_path}')

result = []
import time

print('実験を開始します。モニターの時間を教えて下さい')
base_time = input()
print(f'{base_time}より実験開始')

#base time
bt = time.time()
conc_lis = [64,32,16,8,4,2,1,0]

#input()関数で、ただエンターを押すことで次に進むことを実装する。
inp=''

#各投与濃度について繰り返し
for i in range(6):
    if inp=='':
        next_conc = conc_lis[i+1]

        #時間経過を数え、音声読み上げを行う
        os.system(f'bash {time_path} {name} {str(next_conc)}')

        #投与後10分経過した段階を記録しておく
        time_past = time.time() - bt
        print('スコアを教えて下さい')
        score = input()
        conc = conc_lis[i]
        print(f'睡眠スコア:{score},濃度:{conc}')
        result.append(np.array([time_past,score,conc]))
        print('注射が終わったらリターンキーを押してください')
        inp = input()
        if inp!='':
            inp = ''

        #毎回データを保存
        path = f'{drug}.pickle'
        with open(path, 'wb') as f:
            pickle.dump([result, base_time],f)
        print(f'{path} に保存します')
        df = pd.DataFrame(result)
        df.columns=['時間経過','睡眠スコア','濃度']
        print(f'{drug}.csvに保存します')
        df.to_csv(f'{drug}.csv')


        print('次の実験に移ります')
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0