Reading from a plain text file

后端 未结 4 879
天涯浪人
天涯浪人 2020-12-11 08:24

Say I have the following in a text file:

car
apple
bike
book

How can I read it and put them into a dictionary

相关标签:
4条回答
  • 2020-12-11 08:32

    Reading them into a list is trivially done with readlines():

    f = open('your-file.dat')
    yourList = f.readlines()
    

    If you need the newlines stripped out you can use ars' method, or do:

    yourList = [line.rstrip('\n') for line in f]
    

    If you want a dictionary with keys from 1 to the length of the list, the first way that comes to mind is to make the list as above and then do:

    yourDict = dict(zip(xrange(1, len(yourList)+1), yourList))
    
    0 讨论(0)
  • 2020-12-11 08:34

    This is covered pretty thoroughly in the Python tutorial.

    lines = open('filename.txt', 'r').readlines()
    
    0 讨论(0)
  • 2020-12-11 08:42

    You can use the file with with like this. This is called a context manager and automatically closes the file at the end of the indented block

    with open('data.txt') as f:
        words = f.readlines()
    

    If you want to do it without a context manager, you should close the file yourself

    f = open('data.txt')
    words = f.readlines()
    f.close()
    

    Otherwise the file remains open at least as long as f is still in scope

    0 讨论(0)
  • 2020-12-11 08:51
    words = []
    for word in open('words.txt'):
        words.append(word.rstrip('\n'))
    

    The words list will contain the words in your file. strip removes the newline characters.

    0 讨论(0)
提交回复
热议问题