我正在创建一个Python文件,我想要一个不同的屏幕显示给第一次打开文件的人,而不是一个重复访问者。像这样:
if USER_NEW:
print('New user screen')
else:
print('other screen')
究竟我该怎么做呢?
答案 0 :(得分:2)
您需要将信息存储在另一个文件中,以便稍后再次运行脚本时进行阅读。当您运行脚本时,您需要阅读此文件并查看是否包含一个值,表示访问者已查看该文件或写入该文件以告知程序在下次访问期间何时拥有该文件。
例如:
with open('user.txt', 'r+') as file:
if file.read() == '':
print('New user screen')
else:
print('other screen')
file.write('visited')
答案 1 :(得分:1)
您可以将程序信息保存在状态文件中。这样做取决于操作系统,即使这样你也会发现不同意见。在Windows上,您可以使用环境变量%LOCALAPPDATA%
。在大多数unixy系统上,您可以使用~/.myapp
或~/.config/myapp
(我更喜欢第二种)。我不知道其他机器上的惯例。
您还需要为文件格式建立约定。我只想找一个文件名。
import platform
import os
import time
if platform.system() == "Windows":
my_app_path = os.path.expandvars("%LOCALAPPDATA%/myapp")
elif platform.system() == "Linux":
my_app_path = os.path.expanduser("~/.config/myapp")
else:
exit(2)
first_run_file = os.path.join(my_app_path, "first_run.txt")
if not os.path.exists(first_run_file):
first_run = True
os.makedirs(my_app_path)
open(first_run_file, "w")
else:
first_run = False