我正在尝试编写一个将加密密码保存在文件中的程序,但是我希望在第一次使用程序时输入目录,以便知道在哪里保存密码。有谁知道我怎么能做到这一点?
示例,第一次打开程序:
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
然后,在第一个程序之后的每次运行中,它都会跳过这一部分。
答案 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字符串保存到配置文件中,以便稍后将该字典读回应用程序。