
私のLinux環境には、次のフォルダ構造があります。
|-- Fixed_Zip
| |-- ipython_notebooks
| | |-- notebook editor for compute_0anXhGEj.ipynb
| | |-- notebook editor for compute_aucScores.ipynb
| | |-- notebook editor for compute_nG27bM3w.ipynb
| | |-- notebook editor for compute_test_scored_scikit1.ipynb
ご覧のとおり、私のファイル名にスペースがあります。Fixed_Zip
フォルダ内のすべてのサブディレクトリを繰り返して次のコマンドを実行するにはどうすればよいですかjupytext --to py {file}
?
もう一つのことは、Groovyファイルでコマンドを実行しているため、調整する必要があるいくつかの構文があるようです。私の個人的な環境では、次のコマンドを実行でき、動作しています。
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in `find . -name '*.ipynb' -type f`; do
jupytext --to py "$i"
done
IFS=$SAVEIFS
ただし、Groovyファイルで同じことを行うと、次のようになります。
sh '''
SAVEIFS=$IFS
IFS=$(echo -en "\\n\\b")
for i in `find . -name '*.ipynb' -type f`; do
jupytext --to py "$i"
done
IFS=$SAVEIFS
'''
次のエラーが発生します。
raise InconsistentPath(
jupytext.paired_paths.InconsistentPath: './ipytho' is not a notebook.
答え1
「空白のあるファイル名」には、find
とが必要ですxargs
。読んで、man find xargs
次のことをしてみてください
find Fixed_Zip -type f -name '*.ipynb' -print0 | \
xargs -0 -r -n 1 jupytext --to py