【问题标题】:keep data in the file python将数据保存在文件python中
【发布时间】:2018-08-01 06:07:09
【问题描述】:

大家好,我希望你好,我是使用 python 的新手,我正在做一个程序,但我不知道如何将数据永久保存在文件中。我只知道如何创建文件,但我不知道如何将数据保存在文件中,即使程序已关闭,当我打开它时,我也可以添加更多数据并将其保存在文件中。我也有尝试了几种方法在 python 上上传文件,但它们对我不起作用。有人可以帮帮我吗? 这是我的代码:

file = open ('file.txt','w')

t = input ('name :')
p= input ('last name: ')
c = input ('nickname: ')
file.write('name :')
file.write(t)
file.write('  ')
file.write('last name: ')
file.write(p)
file.write('nickname: ')
file.write(c)
file.close()

with open('archivo.txt','w') as file:
data = load(file)
print(data)

【问题讨论】:

  • 如果您想先读取旧数据,您可以以附加模式“a”或“r+”打开文件。对不同模式有很好的总结here
  • pythonforbeginners 链接上的信息有一些问题。代码的缩进不正确,而且它的重点是 Python 2。如果你现在才刚开始使用 Python,那么你真的应该学习 Python 3,而不是 Python2! official tutorial 要好得多。我想这对于刚接触编程的人来说可能有点太技术性了,但你一定要看看它。
  • 我建议您暂时忘记上传或下载文件。在尝试做更高级的事情之前,先学习 Python 的基础知识。上传或下载并不难,但如果您不知道自己在做什么,很容易弄得一团糟。 ;)
  • 您是否真的在使用旧的python 2.7 作为标记?如果是这样,那么您应该使用raw_input() 而不是input()。首先在命令行上使用python -V(大写V)进行检查。

标签: python python-2.7 python-requests


【解决方案1】:

这里演示了文件写入的工作原理,以及wa 之间的区别。 cmets 表示在每个给定点写入驱动器的文件中的文本。

f1 = open('appending.txt', 'w')
f1.write('first string\n')
f1.close()

# first string

f2 = open('appending.txt', 'a')
f2.write('second string\n')
f2.close()

# first string
# second string

f3 = open('appending.txt', 'w')
f3.write('third string\n')
f3.close()

# third string

【讨论】:

  • Alistair Carscadden 非常感谢您的帮助。
  • 不客气,@uli28。如果你不介意,你能接受我的回答吗?
  • 当然是 Alistair Carscadden,但你接受你的答案的意思是我可以选择接受它。我很抱歉,因为我是这个社区的新手。
  • @uli28 没问题,here 是一个关于接受答案的有用页面。您需要做的就是点击答案上的灰色复选标记。
【解决方案2】:

在文件上可以发生三种类型的文件操作模式,如读、写和追加。

  • 读取模式:在这种模式下,您只能像这样读取文件

    #content in file.txt "Hi I am Python Developer"
    with open('file.txt', 'r') as f:
          data = f.read()
          print(data)
    #output as : Hi I am Python Developer
    
  • 写入模式:在这种模式下,您可以将信息写入文件,但它总是会覆盖文件的内容,例如。

    data = input('Enter string to insert into file:')
    with open('file.txt', 'w') as f:
         f.write(data)
    
    with open('file.txt', 'r') as f:
         data = f.read()
         print('out_data:', data)
    
    # Output : Enter string to insert into file: Hi, I am developer
    #          out_data: Hi, I am developer
    

当您下次打开文件并执行相同的写入操作时,它会将整个信息覆盖到文件中。

  • 追加模式:在这种模式下,您将能够写入文件,但内容会追加到此文件中。比如:

    data = input('Enter string to insert into file:')
    with open('file.txt', 'a') as f:
         f.write(data)
    
    with open('file.txt', 'r') as f:
         data = f.read()
         print('out_data:', data)
    
    # Output : Enter string to insert into file: Hi, I am developer
    #          out_data: Hi, I am developer
    
    # Now perform same operation:
    data = input('Enter string to insert into file:')
    with open('file.txt', 'a') as f:
        f.write(data)
    
    with open('file.txt', 'r') as f:
        data = f.read()
        print('out_data:', data)
    # Output : Enter string to insert into file: Hi, I am Python developer
    #           out_data: Hi, I am developer Hi, I am Python Developer
    

【讨论】:

  • utks009 非常感谢,它对我很有帮助,我很困惑如何使用不同类型的模式
猜你喜欢
  • 1970-01-01
  • 2019-09-28
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多