Python limpa o arquivo e substitui o conteúdo, carrega e despeja json usando pontos de atenção

  • Há um arquivo de texto, você precisa substituir uma palavra nele e usar python para completá-lo. Escrevi assim:
def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))

Execute a função acima, ela anexará o conteúdo em vez de substituí-lo.
f.truncate () não funciona, como devo escrever?
Você precisa adicionar f.seek (0) para posicionar o arquivo na posição 0. Sem esta frase, o arquivo é posicionado no final dos dados e truncar também é excluído daqui, então parece que não funciona .

def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.seek(0)
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))
  • Pontos a serem observados ao usar carregamentos e despejos json

Entre eles, json.dumps serializa json em uma string e json suporta o formato de dados básico de int, str e bool. Se usarmos int como chaves, as chaves serão alteradas para o tipo str durante os dumps. Json.loads também é tipo str. Portanto, todas as chaves precisam ser alteradas para str para padronização.

teste:

aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": .....
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": 
> <class 'str'>
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": 
> <class 'dict'>

Acho que você gosta

Origin blog.csdn.net/yangdashi888/article/details/103742278
Recomendado
Clasificación