gpt4 book ai didi

python - 如何在 python 中的文件中的新行上写入输入,而不添加空行?

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:26 25 4
gpt4 key购买 nike

我想知道,如何让我的代码在文件中的新行上添加每个输入,但不添加额外的空行。目前,我使用“\n”将每个输入写入新行,但这会添加一个额外的空行。有没有办法在不添加额外行的情况下做到这一点?

这是我的所有代码:-

f= open("Passes.py", "a+")
m=open("money.py","r+")
passes= {}
init={}
initial=0
import time
print "Welcome to the virtual banking system"
user=raw_input("Would you like to create a new account? 'Y/N'").lower()
if user== "y":
new_user= raw_input("Create a username:")
new_pass= raw_input("Create a password:")
p= passes[new_user]= new_user + ":" + new_pass
f.write("\n"+p)
ask=raw_input("Would you like to sign into your account? 'Y/N'").lower()
if ask=="y":
user_in=raw_input("Enter your username:")
if user_in==new_user:
pass_in=raw_input("Enter your password:")
if pass_in==new_pass:
print "Welcome to your account" + " " + new_user
useropt=raw_input("Would you like to view your balance- enter 1, deposit money- enter 2, withdraw money- enter 3 or exit- enter 4:")
if useropt=="1":
print "Your balance is:", initial
if useropt=="2":
amountdep= int(raw_input("How much money would you like to deposit?:"))
initial+=amountdep
print "Thanks. Your new balance is:", initial
if useropt=="3":
amountwith=int(raw_input("How much would you like to withdraw?:"))
initial-=amountwith
print "Your balance is:", initial
i=init[new_user]=str(initial)
m.write(str(i)+"\n")
else:
print "Password not valid"

else:
print "Username does not exist"

else:
print "Thanks for using the virtual bank."

else:
user2=raw_input("Do you have an existing account? 'Y/N'").lower()
if user2=="y":
existing_user=raw_input("Enter your username:")
exisitng_pass=raw_input("Enter your password:")
for passwords in f:
if passwords==existing_user+":"+exisitng_pass:
print "Welcome to your account" + " " + existing_user
useropt2=raw_input("Would you like to view your balance- enter 1, deposit money- enter 2, withdraw money- enter 3 or exit- enter 4:")
if useropt2=="1":
for info in m:
print "Your balance is:", info
if useropt2=="2":
amountdep= int(raw_input("How much money would you like to deposit?:"))
for info in m:
a=int(info)+int(amountdep)
print "Thanks. Your balance is:", int(a)
m.close()
m= open("money.py", "w")
m.write(str(a))
if useropt2=="3":
amountwith=int(raw_input("How much would you like to withdraw?:"))
for info in m:
t=int(info)-int(amountwith)
print "Thanks. Your balance is:", t
m.close()
m=open("money.py","w")
m.write(str(t))

最佳答案

要防止尾随换行符,您可以做的就是在字符串的开头打印换行符。这显然会在文件的开头引入一个空行。为了防止这种情况,您可以使用tell()来检查要打印的字符串是否将是文件中的第一行,如果是,则跳过换行符。这应该可以消除尾随换行符的问题。这看起来像这样:

position = m.tell()
if position == 0:
m.write(str(i))
else:
m.write('\n'+str(i))

关于python - 如何在 python 中的文件中的新行上写入输入,而不添加空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41885141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com