首页 > 解决方案 > 如何创建具有特定名称的文本文件并访问它们

问题描述

我正在创建一个项目,其中我有一个登录系统(非常基本),然后我需要创建具有特定名称的不同 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()

谢谢你。

标签: pythonpython-3.xdata-structures

解决方案


我不确定这是否可行,但如果您放置一个文本以外的变量,例如:'name = “T1.txt”' 和 next 'f = open(name, “w+”)'。接下来(如果此代码有效)您可以创建一个函数来创建新名称(变量)


推荐阅读