Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 以列表形式读取文件,编辑并写回_List_Python 2.7_Text Files - Fatal编程技术网

List 以列表形式读取文件,编辑并写回

List 以列表形式读取文件,编辑并写回,list,python-2.7,text-files,List,Python 2.7,Text Files,假设我有一个包含以下内容的文本文件: 1:编程:Adam:0 2:数学:最大:0 3:工程部:詹姆斯:0 我试图将此文本文件作为列表读取,然后让用户指定要将行中的哪个0更改为1,然后将所做的更改重写回文本文件。 例如,如果用户指定第2行,我希望第2行中的0更改为1,然后将所做的更改保存回文本文件 到目前为止,我有以下内容,但我无法将其改写: class Book_list: def __init__(self,book_ID,book_title,book_author,availabi

假设我有一个包含以下内容的文本文件:
1:编程:Adam:0
2:数学:最大:0 3:工程部:詹姆斯:0

我试图将此文本文件作为列表读取,然后让用户指定要将行中的哪个0更改为1,然后将所做的更改重写回文本文件。 例如,如果用户指定第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 )

您可以读取文件并将其存储在字符串中。然后使用“拆分”从文件创建列表:

str='a:b:c'
lst=str.split(':') #lst=['a','b','c']
根据需要进行编辑,然后将其加入。加入:

str2=':'.join(lst) #str2='a:b:c'