こんにちは。python初心者です。
今大学で、imagesという名前のフォルダ内のPNG形式のファイルを読み込み、それをシャッフルしてランダム表示させる呈示プログラムを作っているのですが、その呈示された画像を呈示後に別フォルダ(image=usedという名前のフォルダ)に移動させるようなものに改造したいです。
下記コードに、どのようなコードを追加したらいいでしょうか?
また、回数制限もつけれるようにしたいです。
psychopyを使って実行します。
from psychopy import visual, core, event
import random, pathlib
import csv
import glob
if name == 'main':
stimuli_list = glob.glob('images/*.PNG')
for filename in stimuli_list:
with open(filename, 'r') as input:
random.shuffle(stimuli_list); # 順番をランダムにする
print(stimuli_list); # ランダムにした順番を表示
current_folder = pathlib.Path(file).parent # 実行しているプログラムが入っているフォルダを特定
new_filename = "results_presented_stimuli.csv" # 新しいファイル名をnew_filenameという名前でプログラム内で使用
new_filepath = current_folder/new_filename # 新しいファイルのパスを指定
datafile = open(new_filepath, mode = 'w') # 新しいファイルを作成
win = visual.Window()
fixation_stim = visual.TextStim(win, "+") # 注視点
no_trials = 0 # no_trialsの初期化
for stim in stimuli_list:
fixation_stim.draw() # 注視点の描画
win.flip() # 注視点の表示
resp = event.waitKeys(keyList = ['space','q','return']) #スペースキーの入力待ち
if resp == ['q']: # qが入力されたら終了する
break
stimulus = visual.ImageStim(win, stim) # 画像刺激の準備
stimulus.draw() # 画像刺激の描画
win.flip() # 画像刺激の表示
core.wait(1.5)
no_trials = no_trials + 1
data = '{},{}\n'.format(no_trials, stim) # カンマ区切りの文字列にする
datafile.write(data) # ファイルに書き込む
datafile.close() # ファイルを閉じる
win.close()