(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【SikuliX】テキストファイルに格納した文字列を一行ずつ取り出して処理する

スポンサーリンク

はじめに

SiluliXを利用している際に以下のようなテキストファイルの文字列を一行ずつ取り出し

hoge
fuga
hogehoge

それをベースに処理したいケースがありました。本記事ではそれらを実現する方法について紹介します。

環境情報
  • SikulixIDE 2.0.3

コード

今回はJythonを利用しているのでPythonのコードを利用します。

f = open('C:\xxx\hoge.txt')
lines = f.readlines()
f.close()
for line in lines:
    filename=line.rstrip('\n')
    filename_plus=filename+"addtext"
    #ここからsikulixの自動化操作を書いていく
print

以下、ポイントです。

ポイント

以下のように文字列を取得すると

lines = f.readlines()

改行がそのまま残ります。

よって、例えばこの文字列をそのままSilulix上に渡すと動作によっては「Enterキー」が自動的に押下されてしまいます。
実際、ファイルエクスプローラ―にこのままlineの文字列を利用してファイル指定を行おうとすると自動的にEnterキーが押下されて動作が想定と異なる事象が発生しました。

f:id:mtiit:20200305110811p:plain
上の例では改行コードにより自動的に「開く」を押す動き方をする

よって、以下のように明示的に改行コードを取り除いています。

line.rstrip('\n')

今回はその後、その文字列にテキストを追加していますがこのように一般的な文字列操作も可能です。

終わりに

以下のような構文でファイルエクスプローラに事前に用意したテキストファイルから文字列を入力できるので便利ですが

type("xx.png",filename_plus)

改行コードの取り扱いに気を付けないと想定外の動き方をします。

以上、ご参考になれば幸いです。