Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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/8/python-3.x/18.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
Python 已解决'_io.TextIOWrapper';对象没有属性';流行音乐';_Python_Python 3.x_Dictionary_Key_Key Value - Fatal编程技术网

Python 已解决'_io.TextIOWrapper';对象没有属性';流行音乐';

Python 已解决'_io.TextIOWrapper';对象没有属性';流行音乐';,python,python-3.x,dictionary,key,key-value,Python,Python 3.x,Dictionary,Key,Key Value,我有一本由文本文件变成的字典 文本文件: banana delicious yellow watermelon big red orange juicy vitamin c 转换为名为d的字典后: {'BANANA' : ['delicious', 'yellow'], 'WATERMELON' : ['big', 'red'], 'ORANGE' : ['juicy', 'vitamin c']} 我正在删除字典和原始文件中的整个键和值。例如,我想删除ORANGE的全部记录 de

我有一本由文本文件变成的字典

文本文件:

banana
delicious
yellow

watermelon
big
red

orange
juicy
vitamin c
转换为名为d的字典后:

{'BANANA' : ['delicious', 'yellow'],

'WATERMELON' : ['big', 'red'],

'ORANGE' : ['juicy', 'vitamin c']} 
我正在删除字典和原始文件中的整个键和值。例如,我想删除ORANGE的全部记录

def Delete():
    delname = input("Please enter the name you would like to delete: \n").upper() 
    with open(file, 'r+') as f:
        f.read()
        f.pop(delname,None)
        f.close()
        print(f"You have deleted {delname}.")
但它给了我错误。我可以知道我怎样才能解决这个问题吗

AttributeError: '_io.TextIOWrapper' object has no attribute 'pop'

f
是一个文件。你认为什么是f.pop?虽然我们当然可以尝试帮助修复每一种不同的方法,但最好还是询问一下如何正确地进行操作。看起来您希望在适当的位置更新文本文件。这在理论上是可能的,但过于挑剔和脆弱。相反,你可以像现在这样将文件转换成字典,从字典中删除条目,然后通过颠倒阅读过程从字典中重新创建文件。Grace:@BoarGules的建议基本上与我在回答其他问题时告诉你的一样-将数据读入dict,更新dict,重新写入整个文件。在这种情况下,您可以使用字典的
pop()
方法来更新它。@martineau我没有看到重复的问题,否则我不会回答