Pythonでファイルを扱う際、ファイル名にハイフン(-)が含まれる場合、意図した通りに動作しないことがあります。この問題を解決するためには、以下の2つの方法があります。
1. ファイル名をクォートする
ファイル名をクォートすることで、ハイフンを含むファイル名を正しく扱うことができます。以下は例です。
import os
filename = "-example-file.txt"
quoted_filename = "'" + filename + "'"
os.system("touch " + quoted_filename)
このように、ファイル名をクォートすることで、touchコマンドでファイルを作成することができます。
2. pathlibモジュールを使用する
Python 3.4からは、pathlibモジュールが標準ライブラリに含まれるようになりました。pathlibモジュールを使用することで、以下のようにハイフンを含むファイル名を扱うことができます。
from pathlib import Path
filename = "-example-file.txt"
path = Path(filename)
path.touch()
このように、pathlibモジュールを使用することで、より簡潔なコードでファイルを作成することができます。