我有一个脚本询问用户所需目录的路径
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)