python - 如何创建具有特定名称的文本文件并访问它们
问题描述
我正在创建一个项目,其中我有一个登录系统(非常基本),然后我需要创建具有特定名称的不同 txt 文件,例如:T1、T2、T3 ... 然后可以访问每个 txt 文件并重置其中的数据。
这基本上是一个餐厅软件,用户在其中使用名称登录,然后继续为某个表号创建文件。在那个 txt 文件中,我计划保存将是字符串代码和附加价格的账单。
到目前为止,我知道如果您open()
的文件不存在,它将被创建。
while True:
action = input ('''
- NEW table
\n - ADD table
\n - BILL
\n - ... ''')
if action.lower() == 'new':
t = open('T.txt', 'w')
elif action.lower() == 'add':
table = input ('Select desired table number')
elif action.lower() == "exit":
exit()
第二个elif
是我计划使用用户输入选择所需文件的地方。
完整代码:
with open('names.txt', 'r') as r :
f_n = r.read().splitlines()
print("Welcome to NAME.app")
##############
# USER LOGIN #
##############
while True:
name = input("""
\n - Insert name to logg in
\n - ADD to save new user
\n - LIST to see saved users
\n - REMOVE to delete a user
\n - EXIT to finish
\n - ...""")
lname = name.lower()
if lname == "add":
n_input = input("Name:")
with open('names.txt', 'a') as f:
f.write(n_input + '\n')
elif lname == "list":
with open('names.txt') as f:
print(f.read().splitlines())
f.close()
elif name in f_n:
print("Logged as", name.upper())
input('Welcome, press enter to continue \n')
break
elif lname == 'remove':
rem = input("Insert user name to remove \n ...")
with open('names.txt', 'r+') as f:
l = f.readlines()
l = [z for z in l if rem not in z]
with open('names.txt', 'w') as f:
f.writelines(l)
elif lname == "exit":
exit()
####################
# TABLE MANAGEMENT #
####################
while True:
action = input ('''
- NEW table
\n - ADD table
\n - BILL
\n - ... ''')
if action.lower() == 'new':
t = open('T.txt', 'w')
elif action.lower() == 'add':
table = input ('Select desired table number')
elif action.lower() == "exit":
exit()
谢谢你。
解决方案
我不确定这是否可行,但如果您放置一个文本以外的变量,例如:'name = “T1.txt”' 和 next 'f = open(name, “w+”)'。接下来(如果此代码有效)您可以创建一个函数来创建新名称(变量)
推荐阅读
- r - function that plot bar chart and histogram base on selected column data type
- c - MISRA C:类型转换和 <<,& 位运算符错误
- swift - IOS & WatchOS后台通信
- laravel - 如何将 laravel 7.1.3 项目转换为在 laravel 8.0.0 上运行?
- sql - 如何在一个 SQL 查询中计算几个表中的相同列
- linux - rm 一个随机文件后不再显示文件
- image - 在不损失质量的情况下将 SVG 转换为 PNG 和 PDF?
- c - C代码/BMI/需要帮助 - BMI值结果总是错误的
- wso2 - WSO2 APIM Analytics 3.2.0 仪表板登录页面未打开
- javascript - 如何使用 JQuery/AJAX 检索容器中存在的所有下拉列表的选定值?