ユーザーに希望のディレクトリへのパスを尋ねるスクリプトがあります。
default_path = '/path/to/desired/directory/'
user_path = raw_input("Enter new directory [{0}]: ".format(default_path)) or default_path
print user_path
入力が提供されない場合、スクリプトには「デフォルト」ディレクトリがあります。私はスクリプトがユーザーが入力したディレクトリを「記憶」したいと思います。つまり、次回スクリプトを実行するときにユーザーが最後に入力したパスをデフォルトパスに設定したいと思います。可能ですか?
おそらくより一般的には、Pythonでコマンドラインツールを書くのに良い参考資料がありますか?
答え1
答え2
この種の作業には、ある種の構成ファイルを使用する必要があります。通常、ユーザーのホームディレクトリにあるドットファイルであれば、これらの要件に十分です。
答え3
次の場所にあるファイルに情報を保存する必要があります。XDGの基本ディレクトリ仕様。
データは構成ではなくデータなので、環境変数がXDG_DATA_HOME
存在することを確認し、ファイルが保存されている場所にファイルまたはユーティリティ関連のサブディレクトリを作成する必要があります。この環境変数がない場合、デフォルト値は次のとおりです~/.local/share
。
base_dir = os.environ.get('XDG_DATA_HOME',
os.path.join(os.environ['HOME'], '.local', 'share'))
util_data_dir = os.path.join(base_dir, util_name)