【问题标题】:Saving a path for Python [closed]为 Python 保存路径 [关闭]
【发布时间】:2014-06-10 18:31:34
【问题描述】:

我有一个 python 程序,它创建一个包含用户名和密码的文本文件(这里安全不是问题)。

我想知道如何做到这一点,以便在程序的初始运行中询问用户要将文本文件保存在哪里,但在所有其他时间它都知道查看该位置而不提示用户。

【问题讨论】:

  • 向我们展示您的代码将有助于确定您已经尝试过什么。

标签: python path


【解决方案1】:

您需要在静态位置保存另一个文本文件,以便在以后运行时跟踪每个用户的目录。每次运行程序时,您都必须将该文本文件中的数据导入字典,检查用户是否已经在该字典中,然后将字典中的数据写回文件中(如果已更改) .

【讨论】:

    【解决方案2】:

    假设您使用的是 Python 2:

    path = raw_input("enter file path: ")  # Change "raw_input" to "input" for Python 3
    f = open(path, 'w')
    

    请注意,这不会验证您要保存文件的目录是否存在!为此,您可能需要检查目录是否存在:

    dirname = os.path.dirname(path)
    
    if not os.path.isdir(dirname):
      print("Directory '{0}' does not exist!".format(dirname))
      exit
    

    【讨论】:

    • 每次我运行程序时不会出现第一行吗?我想要它,所以如果它是一个人第一次在他们的计算机上运行程序,它会要求一个目录,然后他们下次运行它时程序已经知道去那个目录
    • 程序不会存储状态,除非您专门对其进行编程。您需要将他们选择的path 写入配置文件。然后下次启动程序时,检查配置文件是否有上一次运行的路径。如果是这样,那么在不提示用户的情况下继续。
    【解决方案3】:

    怎么样:

    def prompt_user():
        filepath = raw_input("filepath: ")
        with open('file_path.txt','w+') as f:
            f.write(filepath)
        return
    
    try:
        with open('file_path.txt','r'):
            password_file_path = f.readlines()
    except Exception, e:
        print('oops',e)
    
    if os.path.exists(password_file_path): 
        pass
    else:
        prompt_user()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 2015-06-15
      相关资源
      最近更新 更多