Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的代码在一个文件中重复多次_Python - Fatal编程技术网

Python 为什么我的代码在一个文件中重复多次

Python 为什么我的代码在一个文件中重复多次,python,Python,你好,我遇到了这个代码的问题。当它写入文件时,文件中的文本会自动重复。当代码循环并添加更多文本时,它将连接到插入的文本上。我想知道你是否能帮我阻止文本重复,但仍然写一行新的内容。 我希望第一个人的信息在一行,第二个人的信息在第二行,依此类推,谢谢 myFile1 = open("a-l.txt", "wt") myFile2 = open("m-z.txt", "wt") myList1 = ([]) myList2 = ([]) while 1: surName = inpu

你好,我遇到了这个代码的问题。当它写入文件时,文件中的文本会自动重复。当代码循环并添加更多文本时,它将连接到插入的文本上。我想知道你是否能帮我阻止文本重复,但仍然写一行新的内容。 我希望第一个人的信息在一行,第二个人的信息在第二行,依此类推,谢谢

myFile1 = open("a-l.txt", "wt")

myFile2 = open("m-z.txt", "wt")


myList1 = ([])
myList2 = ([])

while 1: 
    surName = input("Enter your surname name:")
    if surName[0] in ("A","B","C","D","E","F","G","H","I","J","K","L"):
        myList1.append(surName)
        title = input("Enter your prefered title:")
        myList1.append(title)
        firstName = input("Enter your first name:")
        myList1.append(firstName)
        bDay = input("Enter birthdate in mm/dd/yyyy format:")
        myList1.append(bDay)
        phoneNum = input("Enter your phone number:")
        myList1.append(phoneNum)
        email = input("Please enter your email.")
        myList1.append(email)
        for item in myList1:
             myFile1.write(','.join(str(x) for x in myList1) + '\n')

    elif surName[0] in ("M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"):
        myList2.append(surName)
        title = input("Enter your prefered title:")
        myList2.append(title)
        firstName = input("Enter your first name:")
        myList2.append(firstName)
        bDay = input("Enter birthdate in mm/dd/yyyy format:")
        myList2.append(bDay)
        phoneNum = input("Enter your phone number:")
        myList2.append(phoneNum)
        email = input("Please enter your email:")
        myList2.append(email)
        for item in myList2:
             myFile2.write(','.join(str(x) for x in myList2) + '\n')
    elif surName == "1":
        break
myFile1.close()
myFile2.close()

这是因为你实际上使用了两个for循环。您使用列表理解将整个列表连接到一行,并将其写入文件,但是您要执行X次,其中X是列表中的项目数

for item in myList1:
     myFile1.write(','.join(str(x) for x in myList1) + '\n')
对于循环,不需要外部的

myFile1.write(','.join(str(x) for x in myList1) + '\n')

它不再重复我想要的代码,但它将文件中的文本连接在一起@Brendan AbelWhat是理想的行为?您不希望文本连接在一起?是的,请这样做会很有帮助。您可以用一个示例更新您的问题,说明您希望输出的样子吗?我看不到任何示例输出。