假设我有一个包含以下内容的文本文件:
1:编程:亚当:0
2:数学:最大:0
3:工程:詹姆斯:0
我正在尝试将此文本文件作为列表读取,然后让用户指定要将其中的哪一行更改为1,然后将更改重写为textfile。 因此,例如,如果用户指定第2行,我希望第2行中的0更改为1,然后将更改保存回文本文件。
到目前为止,我有以下内容,我只是不能过来写它:
class Book_list:
def __init__(self,book_ID,book_title,book_author,availability):
self.book_ID = book_ID
self.book_title = book_title
self.book_author = book_author
self.availability = availability
def __str__(self):
return ('ID: ' + self.book_ID + '\nBook_Title: ' + self.book_title +
'\nBook_author: ' + self.book_author +
'\navailability: ' + self.availability + '\n')
def __getitem__(self,book_ID):
return self.book_ID
def __getitem__(self,availability):
return self.availability
x=str(raw_input('enter line number.'))
with open('database.txt','r') as f:
lines = f.readlines()
library = []
for line in lines:
line = line.strip()
data = line.split(':')
b = Book_list(data[0],data[1],data[2],str(data[3]))
library.append(b)
for i in range (0,len(library)):
if (library[i])[0]==x and (library[i])[3]==0:
(library[i])[3]== '1'
with open('database.txt', 'w') as f:
f.writelines( library )
答案 0 :(得分:0)
您可以读取文件并将其存储在字符串中。然后使用split从文件中创建一个列表:
$scope.$watch('newKey', function(newValue ) {
console.log( newValue );
}
);
根据需要进行编辑,然后使用.join加入:
str='a:b:c'
lst=str.split(':') #lst=['a','b','c']