在Python中打开.txt文件并分别读取每个字符并存储它

时间:2017-05-14 16:15:16

标签: python python-3.x

我是python的新手,我需要这个才能参加考试。 我有两个txt文件,其中有一个电影院座位数据。 我试图打开文件,阅读所拍摄的座位和免费的座位,并希望存储这些信息。

txt看起来有点像这样:

xxxxooxoxxx
xooxoxxoxox
ooxxxoxooxx

o-s是座位空闲和x-s拍摄的地方。 所以第二个原始的第一个座位被占用,但第三个和第四个是免费的。

我不知道如何正确存储数据或按字符打开文件字符。我真的不确定如何开始。

3 个答案:

答案 0 :(得分:5)

我希望,我理解你的问题。如果您的文件不是非常大(超过100 MB),那么您可以读取整个文件并将其内容存储到变量中。

假设该txt文件保存为data.txt。然后你可以用这两行打开一个文件:

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

数据现在是行列表。

>>> data
['xxxxooxoxxx\n', 'xooxoxxoxox\n', 'ooxxxoxooxx\n']

现在,我将数据列表转换为2d布尔数组。这是一个丑陋的班轮:

>>> taken = [[seat == 'x' for seat in row.rstrip()] for row in data]

现在您可以确定是否采取座位:

>>> taken[1][1]
False
>>> taken[1][0]
True

答案 1 :(得分:0)

要在与python文件相同的目录中打开文件,请使用

file=open("file.txt","r")
file1=file.read()

这是您在阅读模式下打开文件的方式(r)。现在您想要一个字符列表,这样您就可以使用列表功能。

file1=list(file1)

现在您将获得所有角色的列表。如果要按换行符拆分,而不是使用列表,请使用拆分。

file1=file1.split('\n')

最后,关闭文件。

file.close()

答案 2 :(得分:0)

可以使用'r'选项在python中读取带 open 函数的文件:

with open("file.txt", 'r') as f:
    for row in f:
        for each_char in str(row):
            print each_char
            # Here use your statement