python讀取yaml文件報錯:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa5 in position 136: illegal multibyte sequence


解決:

改成用2進制讀取yaml文件:

with open(r"D:\file\yaml\data.yml",'rb') as f:

讀取代碼如下:

'''讀取yaml方法'''
import yaml


def read_file(file_path):
    with open(file_path,'r',encoding='utf-8') as f:
        data = yaml.load(f,Loader=yaml.FullLoader)

        return data


if __name__ == '__main__':
    #print(read_file('..\conf\db_conf.yml'))
    print(read_file(r'..\test_data\login\login_data.yml'))

 

寫入yaml文件的方法:
'''寫入yaml方法'''
import yaml


def main():
    data = {
        'search_data':{
            'search_tast_002':'test你',
        }
    }

    with open("./text.yml","w") as f:
        yaml.dump(data,f,encoding="utf-8",allow_unicode=True)   # 加后2個參數解決中文亂碼


if __name__ == '__main__':
    main()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM