我有一个.txt文件,我想要“清理”咒骂词,所以我写了一个程序,检查单词列表的每个位置,如果单词出现在任何地方可登记单词列表,用Person
删除它。它工作正常,列表很干净,但不能写入任何文件。
private void myFunction(final String subjectId) {
Query query = mDatabaseRef.orderByKey().equalTo(subjectId); //I need to use query
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Person newPerson = dataSnapshot.getValue(Person.class); //?? How to use query's value instead
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
是清单。
var.remove(arg)
返回此错误:
wordlist
我猜这是因为我试图写一个带有变量或列表的文件,但实际上没有替代品;列表中有3526个项目。
为什么它无法写入带有列表变量的文件的任何想法?
注意:lists.txt不存在,它是由写模式创建的。
答案 0 :(得分:2)
write
写一个字符串。你不能写一个list
变量,因为,即使对于人类来说很明显它应该在单词之间用空格或分号书写,计算机也没有空出来做这些假设,并且应该提供给要写的确切数据(按字节顺序)。
因此,您需要将此列表转换为字符串 - 显式 - 然后将其写入文件。为了这个目标,
newlist.write('\n'.join(wordlist))
就足够了(并提供一个文件,其中每行包含一个单词)。
str(wordlist)
转换列表(将返回类似['hi', 'there']
的内容)并编写它将起作用(并允许通过eval
方法检索),但这将是考虑到长列表非常昂贵的空间使用(每个字增加大约4个字节)并且可能需要更多时间。