PRLのカバー(表紙)に選ばれた!
論文がPRLのカバーに選ばれました。 プリント版の表紙 Vol 135, issue 18のカバー PRLのトップページ APSのトップページ PRLとAPSのトップページに1週間は鎮座します。記念のスクショを撮っておきました。
PiMag(ポータブル40テスラ装置)にはraspberry piが搭載されていて、そこにに置いた自作pythonプログラムで制御しています。そこでtkinterというpython標準のGUIを使用しています。そのGUI特有の機能を使っています。
問題は外部でリモートコントロールしたり、自動計測することを考えたときに、GUIベースなのは微妙と言うことです。今のソフトはtkinterの機能を駆使しているので、フレキシブルじゃないです。そこで
「テキスト設定ファイル」に値を読み書きすることを基本とする、というプログラムにしようと思います。ボタンを押しても、まずはテキストファイルの値を書き換え、それを別のプログラムが参照して次の動きを作る、ということです。
そうすれば、GUIのボタンを押さなくても、外部からテキストファイルを書き換えることで、ボタンを押すようなことができそうです。
そのテキストファイルは複数のプログラムが参照する可能性があるので、ファイルを安全に読み書きできる必要があります。
from filelock import FileLock
def safe_write(filename, content):
lock_file = filename + ".lock"
with FileLock(lock_file):
with open(filename, 'w') as f:
f.write(content)
def safe_read(filename):
lock_file = filename + ".lock"
with FileLock(lock_file):
with open(filename, 'r') as f:
return f.read()
実行結果は下記です。
これを応用して、望みのプログラムを作ろうと思います。
コメント
コメントを投稿