Python AttributeError: 'list' 对象没有属性 'replace'

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23509142/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 03:03:43  来源:igfitidea点击:

AttributeError: 'list' object has no attribute 'replace'

python

提问by python.beginner

I am running into below error with the below piece of code,can any one provide suggestions on how to fix it?

我在使用以下代码时遇到以下错误,有人可以提供有关如何修复它的建议吗?

import json
gerritinfo=['{"project":"platform/frameworks/opt/telephony","branch":"kitkat","id":"Idcf6faee0f6259704ea07b62ce713ebdd4c5da1b","number":"739919","subject":"Correct order of parameter in iccExchangeApdu()","owner":{"name":"Satish Kumar Singh","email":"[email protected]","username":"c_ssing"},"url":"https://review-android.quicinc.com/739919","createdOn":1399412660,"lastUpdated":1399437231,"sortKey":"002cea91000b4a4f","open":true,"status":"NEW","comments":[{"timestamp":1399412661,"reviewer":{"name":"Gator Service Account","email":"gator@localhost","username":"gator"},"message":"Patch Set 1: Looks good to me, but someone else must approve\n\nThis patchset has been processed by the Gator."},{"timestamp":1399412704,"reviewer":{"name":"Checkpatch Service Account","email":"checkpatch@localhost","username":"checkpatch"},"message":"Patch Set 1: Looks good to me, but someone else must approve\n\nYour change has passed all of the checks enforced by the android patchchecker."},{"timestamp":1399413456,"reviewer":{"name":"Satish Kumar Singh","email":"[email protected]","username":"c_ssing"},"message":"Patch Set 1: Developer Build and Test Successful\n\n"},{"timestamp":1399415354,"reviewer":{"name":"Gueyoung Lee","email":"[email protected]","username":"gueyoung"},"message":"Patch Set 1: Looks good to me, but someone else must approve\n\n"},{"timestamp":1399417092,"reviewer":{"name":"Dhananjai Singh","email":"[email protected]","username":"dhananja"},"message":"Patch Set 1: Looks good to me, but someone else must approve\n\n"},{"timestamp":1399417366,"reviewer":{"name":"David Ng","email":"[email protected]","username":"dng"},"message":"Patch Set 1: Looks good to me, approved\n\nI remembered the previous change went in recently.  How come this was not caught in the original testing as this would have failed right away?\n\nThanks!\nDavid"},{"timestamp":1399418880,"reviewer":{"name":"Klocwork Automation User","email":"kwuser@localhost","username":"kwuser"},"message":"Patch Set 1:\n\nThis change is being verified in klocwork for the following manifests along with other changes as detailed below:\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:kk:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217513\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,\n\n\n\nPlease note that verification of all changes in this batch need to be successful before this change can be merged.\n\nPLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.\n"},{"timestamp":1399418898,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\nThis change is being verified in lookahead for the following manifests along with other changes as detailed below:\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:kk:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217515\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,739919\n\n\n\nPlease note that verification of all changes in this batch need to be successful before this change can be merged.\n\nPLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.\n"},{"timestamp":1399418924,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\nThis change is being verified in lookahead for the following manifests along with other changes as detailed below:\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:kk:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217517\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,739919\n\n\n\nPlease note that verification of all changes in this batch need to be successful before this change can be merged.\n\nPLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.\n"},{"timestamp":1399422861,"reviewer":{"name":"Klocwork Automation User","email":"kwuser@localhost","username":"kwuser"},"message":"Patch Set 1: Verified\n\nSuccessful klocwork verification. You may find the results of the verification by following the link(s) below:\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217513\n\n"},{"timestamp":1399427087,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1: Verified\n\nSuccessful lookahead verification. You may find the results of the verification by following the link(s) below:\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217515\n\n"},{"timestamp":1399427807,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\nSuccessful lookahead verification. You may find the results of the verification by following the link(s) below:\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3217517\n\n"},{"timestamp":1399428952,"reviewer":{"name":"PATCHSET LOCK CNSS GERRIT","email":"cgpl@localhost","username":"cgpl"},"message":"Patch Set 1: Patch Set Locked\n\n"},{"timestamp":1399433104,"reviewer":{"name":"Preflight Locking User","email":"preflight@localhost","username":"preflight"},"message":"Patch Set 1: Developer Build and Test Successful\n\nLocked for preflight"},{"timestamp":1399433250,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\nThis change is being verified for the following manifests along with other changes as detailed below:\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:kk:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219556\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,735646\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,733482\n\n  o https://review-android.quicinc.com/#change,734797\n\n  o https://review-android.quicinc.com/#change,738976\n\n  o https://review-android.quicinc.com/#change,739919\n\n  o https://review-android.quicinc.com/#change,738249\n\n  o https://review-android.quicinc.com/#change,740118\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,728537\n\n  o https://review-android.quicinc.com/#change,728778\n\n  o https://review-android.quicinc.com/#change,728784\n\n  o https://review-android.quicinc.com/#change,729018\n\n  o https://review-android.quicinc.com/#change,729147\n\n  o https://review-android.quicinc.com/#change,731124\n\n  o https://review-android.quicinc.com/#change,731160\n\n  o https://review-android.quicinc.com/#change,731551\n\n  o https://review-android.quicinc.com/#change,733219\n\n  o https://review-android.quicinc.com/#change,734250\n\n  o https://review-android.quicinc.com/#change,734472\n\n  o https://review-android.quicinc.com/#change,734487\n\n  o https://review-android.quicinc.com/#change,734503\n\n  o https://review-android.quicinc.com/#change,734889\n\n  o https://review-android.quicinc.com/#change,734923\n\n  o https://review-android.quicinc.com/#change,735244\n\n  o https://review-android.quicinc.com/#change,735559\n\n  o https://review-android.quicinc.com/#change,736352\n\n  o https://review-android.quicinc.com/#change,729385\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/mdm/manifest:master:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219555\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,738249\n\n  o https://review-android.quicinc.com/#change,740118\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,729385\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:master_64:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219557\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,735646\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,733482\n\n  o https://review-android.quicinc.com/#change,734797\n\n  o https://review-android.quicinc.com/#change,738976\n\n  o https://review-android.quicinc.com/#change,738249\n\n  o https://review-android.quicinc.com/#change,740118\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,729385\n\n\n\nPlease note that verification of all changes in this batch need to be successful before this change can be merged.\n\nPLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.\n"},{"timestamp":1399434561,"reviewer":{"name":"Preflight Locking User","email":"preflight@localhost","username":"preflight"},"message":"Patch Set 1: Not developer verified\n\nUnlocked"},{"timestamp":1399434591,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\n\nAborted verification due to sibling job failure as part of parallelverification. This change will get picked up in subsequent verification cycles. No action is needed.\n\n"},{"timestamp":1399435613,"reviewer":{"name":"Preflight Locking User","email":"preflight@localhost","username":"preflight"},"message":"Patch Set 1: Developer Build and Test Successful\n\nLocked for preflight"},{"timestamp":1399435770,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\nThis change is being verified for the following manifests along with other changes as detailed below:\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:kk:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219789\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,737413\n\n  o https://review-android.quicinc.com/#change,716076\n\n  o https://review-android.quicinc.com/#change,737755\n\n  o https://review-android.quicinc.com/#change,739365\n\n  o https://review-android.quicinc.com/#change,703116\n\n  o https://review-android.quicinc.com/#change,728537\n\n  o https://review-android.quicinc.com/#change,728778\n\n  o https://review-android.quicinc.com/#change,728784\n\n  o https://review-android.quicinc.com/#change,729018\n\n  o https://review-android.quicinc.com/#change,729147\n\n  o https://review-android.quicinc.com/#change,731124\n\n  o https://review-android.quicinc.com/#change,731160\n\n  o https://review-android.quicinc.com/#change,731551\n\n  o https://review-android.quicinc.com/#change,733219\n\n  o https://review-android.quicinc.com/#change,734250\n\n  o https://review-android.quicinc.com/#change,734472\n\n  o https://review-android.quicinc.com/#change,734487\n\n  o https://review-android.quicinc.com/#change,734503\n\n  o https://review-android.quicinc.com/#change,734889\n\n  o https://review-android.quicinc.com/#change,734923\n\n  o https://review-android.quicinc.com/#change,735244\n\n  o https://review-android.quicinc.com/#change,735559\n\n  o https://review-android.quicinc.com/#change,736352\n\n  o https://review-android.quicinc.com/#change,733482\n\n  o https://review-android.quicinc.com/#change,734797\n\n  o https://review-android.quicinc.com/#change,735646\n\n  o https://review-android.quicinc.com/#change,738976\n\n  o https://review-android.quicinc.com/#change,739919\n\n  o https://review-android.quicinc.com/#change,740134\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,729385\n\n  o https://review-android.quicinc.com/#change,738249\n\n  o https://review-android.quicinc.com/#change,734263\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/mdm/manifest:master:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219788\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,716076\n\n  o https://review-android.quicinc.com/#change,737755\n\n  o https://review-android.quicinc.com/#change,703116\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,729385\n\n  o https://review-android.quicinc.com/#change,738249\n\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngit-android.quicinc.com/platform/manifest:master_64:default.xml\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nhttps://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId\u003d3219790\n\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n  o https://review-android.quicinc.com/#change,716076\n\n  o https://review-android.quicinc.com/#change,737755\n\n  o https://review-android.quicinc.com/#change,739365\n\n  o https://review-android.quicinc.com/#change,703116\n\n  o https://review-android.quicinc.com/#change,733482\n\n  o https://review-android.quicinc.com/#change,734797\n\n  o https://review-android.quicinc.com/#change,735646\n\n  o https://review-android.quicinc.com/#change,738976\n\n  o https://review-android.quicinc.com/#change,740134\n\n  o https://review-android.quicinc.com/#change,707889\n\n  o https://review-android.quicinc.com/#change,717048\n\n  o https://review-android.quicinc.com/#change,717049\n\n  o https://review-android.quicinc.com/#change,717050\n\n  o https://review-android.quicinc.com/#change,725038\n\n  o https://review-android.quicinc.com/#change,729385\n\n  o https://review-android.quicinc.com/#change,738249\n\n\n\nPlease note that verification of all changes in this batch need to be successful before this change can be merged.\n\nPLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.\n"},{"timestamp":1399436746,"reviewer":{"name":"Preflight Locking User","email":"preflight@localhost","username":"preflight"},"message":"Patch Set 1: Not developer verified\n\nUnlocked"},{"timestamp":1399436759,"reviewer":{"name":"Linux Build Service Account","email":"lnxbuild@localhost","username":"lnxbuild"},"message":"Patch Set 1:\n\n\nAborted verification due to sibling job failure as part of parallelverification. This change will get picked up in subsequent verification cycles. No action is needed.\n\n"},{"timestamp":1399437231,"reviewer":{"name":"Preflight Locking User","email":"preflight@localhost","username":"preflight"},"message":"Patch Set 1: Developer Build and Test Successful\n\nLocked for preflight"}]}\n', '{"type":"stats","rowCount":1,"runTimeMilliseconds":4}\n']
dict_data =json.loads(str(''.join([item.replace('\n', '') for item in gerritinfo])))
for c in dict_data['comments']:
    if c['reviewer']['name'].startswith('Klocwork'): # you can use exact search
        print c['message']

Error:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict_data =json.loads(str(''.join([item.replace('\n', '') for item in gerritinfo])))
  File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 369, in decode
    raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 26242 - line 1 column 26295 (char 26242 - 26295)

采纳答案by shengy

If you just want to get rid of \ns in your list, the following code would do it.

如果您只想删除\n列表中的s,可以使用以下代码。

gerritinfo = [
    '{"project":... ... Locked for preflight"}]}\n',
    '{"type":"stats","rowCount":1,"runTimeMilliseconds":4}\n'
]
print ''.join([item.rstrip('\n') for item in gerritinfo])

UPDATE

更新

The following code may work. If I didn't misunderstand your question.

以下代码可能有效。如果我没有误解你的问题。

import json
# gerritinfo = [....]
dict_data =json.loads(gerritinfo[0])
for c in dict_data['comments']:
    if c['reviewer']['name'].startswith('Klocwork'): # you can use exact search
        print c['message']

output:

输出:

Patch Set 1:

This change is being verified in klocwork for the following manifests along with other changes as detailed below:

=====================================================================================

git-android.quicinc.com/platform/manifest:kk:default.xml

=====================================================================================

https://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId=3217513


o https://review-android.quicinc.com/#change,

Please note that verification of all changes in this batch need to be successful before this change can be merged.

PLEASE DO NOT UPLOAD A NEW PATCH SET, OR REMOVE APPROVALS UNTIL THE VERIFICATION IS COMPLETE.

Patch Set 1: Verified

Successful klocwork verification. You may find the results of the verification by following the link(s) below:

https://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId=3217513

补丁集 1:

此更改正在 klocwork 中针对以下清单以及其他更改进行验证,详情如下:

================================================== ====================================

git-android.quicinc.com/platform/manifest:kk:default.xml

================================================== ====================================

https://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId=3217513


o https://review-android.quicinc.com/#change

请注意,在合并此更改之前,需要成功验证此批次中的所有更改。

在验证完成之前,请不要上传新的补丁集或删除批准。

补丁集 1:已验证

成功的klocwork验证。您可以通过以下链接查看验证结果:

https://commander.qualcomm.com/commander/pages/SimplifiedJobView/LoadComponent_run?jobId=3217513

回答by A.J. Uppal

Because gerritinfois a list, you have to access .replace()with each string in the list. Here is a method using list comprehension:

因为gerritinfo是一个列表,您必须访问.replace()列表中的每个字符串。这是使用列表理解的方法:

import json
gerritinfo=['{"project":... ... Locked for preflight"}]}\n', '{"type":"stats","rowCount":1,"runTimeMilliseconds":4}\n']

dict_data =json.loads(str(''.join([item.replace('\n', '') for item in gerritinfo])))
for c in dict_data['comments']:
    if c['reviewer']['name'].startswith('Klocwork'): # you can use exact search
        print c['message']

Using list comprehension, we loop over each item in gerritinfoand we call the .replace()on it.

使用列表推导式,我们循环遍历 in 中的每个项目gerritinfo并调用.replace()它。

Here is a little example of using list comprehension:

这是使用列表理解的一个小例子:

>>> squares = range(1, 11)
>>> squares
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> squares = [x**2 for x in squares]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

回答by Nandha Kumar

replace method only for string, not a list . so we mention the position of particular list value

仅用于字符串的替换方法,而不是列表。所以我们提到了特定列表值的位置

dict_data =gerritinfo[0].replace('\n','')

if you want total list value in dict_data means that you can use for loop

如果您想要 dict_data 中的总列表值意味着您可以使用 for 循环

a=[item.replace('\n', '') for item in gerritinfo]
print a

回答by Girish M

mylst = map(lambda each:each.strip("\n"), gerritinfo)  
print mylst  

This works for lists. You're essentially deleting the character from the elements of the list.

这适用于列表。您实际上是从列表的元素中删除该字符。