如何仅在第一次打开程序时保存目录

时间:2017-01-13 18:00:28

标签: python python-3.x

我正在尝试编写一个将加密密码保存在文件中的程序,但是我希望在第一次使用程序时输入目录,以便知道在哪里保存密码。有谁知道我怎么能做到这一点?

示例,第一次打开程序:

dir = input("What directory would you like to use to save your passwords?")
file_name = dir+"\\passwords.txt"   
open(file_name, "w")   # creates the file
# runs the rest of the program or exits

然后,在第一个程序之后的每次运行中,它都会跳过这一部分。

1 个答案:

答案 0 :(得分:4)

您必须在某处保留密码文件的位置,您可以尝试在用户主目录中创建配置文件。

应用启动时,请执行以下操作:

from os.path import expanduser, join, exists
home = expanduser("~")

if not exists(join(home, '.my-config')):
     # ask for password file path
     ...
     # persist path
     with open(join(home, '.my-config', 'w')) as config_file:
           config_file.write(password_file_path)
else:
    # read the password file path from the config
    with open(join(home, '.my-config', 'r')) as config_file:
           password_file_path=config_file.read()

 # continue with code
 ...

为了使配置文件更有用,您可以创建一个包含所需数据的字典,并将json字符串保存到配置文件中,以便稍后将该字典读回应用程序。