我是python的新手,我需要这个才能参加考试。 我有两个txt文件,其中有一个电影院座位数据。 我试图打开文件,阅读所拍摄的座位和免费的座位,并希望存储这些信息。
txt看起来有点像这样:
xxxxooxoxxx
xooxoxxoxox
ooxxxoxooxx
o-s是座位空闲和x-s拍摄的地方。 所以第二个原始的第一个座位被占用,但第三个和第四个是免费的。
我不知道如何正确存储数据或按字符打开文件字符。我真的不确定如何开始。
答案 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