簡體   English   中英

Try except 里面的 try except 不起作用

[英]Try except inside try except is not working

我正在嘗試向我的代碼添加一些錯誤處理

    def create_parameter_url(self):
        available_parameters = self.download_available_parameters()
        print('CHOOSE PARAMETER')
        while True:
            list_parameters = str(input('\nWould you like to see available parameters? y/n \n>>>'))
            try:
                if list_parameters == 'y':
                    for i in range(len(available_parameters['resource'])):
                        if self.is_valid_argument(available_parameters['resource'][i]['title']):
                            print(i+1 , ":" , available_parameters['resource'][i]['title'] , available_parameters['resource'][i]['summary'])   
                    choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
                    parameter_url = self.first_url_no_json + choose_parameter
                    break
                elif list_parameters == 'n':
                    choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
                    parameter_url = self.first_url_no_json + choose_parameter
                else:
                    print('Not a valid answer, please enter y/n')
            except HTTPError:
                print("This index doesn't exist, please choose an existing index!")    
        return parameter_url

如果用戶輸入的內容不是 y/n,則 if 循環會捕獲,並且它工作正常,但是如果用戶使用不存在的索引(在這種情況下獲取 HTTPError)回答 choose_parameter 時捕獲的 try except 不起作用,我仍然找回錯誤,而是想詢問打印消息並要求用戶再次選擇索引? 我做錯了什么:這是 available_parameters(大 json 文件):

{'key': '1.0', 'updated': 1664632800000, 'title': '1.0 versionen av nedladdningstjänsten: Välj parameter (sedan station och tidsutsnitt)', 'summary': '', 'link': [{'rel': 'version', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0.json'}, {'rel': 'version', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0.xml'}, {'rel': 'version', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0.atom'}, {'rel': 'category', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/25080190-38ba-4279-a65d-d9ef8d0bf949'}], 'resource': [{'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '21', 'updated': 1664632800000, 'title': 'Byvind', 'summary': 'max, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/21.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/21.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/21.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/617a59fa-087b-4416-83df-486b85dcb1ed'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '39', 'updated': 1664632800000, 'title': 'Daggpunktstemperatur', 'summary': 'momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/39.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/39.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/39.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/45970e30-c8a4-11e9-87e3-097244ef907f'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '11', 'updated': 1664632800000, 'title': 'Global Irradians (svenska stationer)', 'summary': 'medelvärde 1 timme, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/11.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/11.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/11.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/a71f56f5-da58-476d-8866-67937e260b4f'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '22', 'updated': 1664582399000, 'title': 'Lufttemperatur', 'summary': 'medel, 1 gång per månad', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/22.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/22.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/22.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c6a50fb-d491-48d2-b94e-d9b43f29470d'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '26', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'min, 2 gånger per dygn, kl 06 och 18', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/26.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/26.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/26.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9ae566f3-b4a8-4de2-8ed1-444acb67cc78'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '27', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'max, 2 gånger per dygn, kl 06 och 18', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/27.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/27.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '19', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'min, 1 gång per dygn', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/19.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/19.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/19.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/bf657f00-2e98-11ed-84f0-5b3e6bab28c1'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '1', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/1.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/1.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/1.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/c6ae10b6-6a18-4e15-9444-fbd746f4609d'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '2', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'medelvärde 1 dygn, 1 gång/dygn, kl 00', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/2.json'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/a5a31815-bf29-4ae3-81cf-cdb76378e028'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '20', 'updated': 1664632800000, 'title': 'Lufttemperatur', 'summary': 'max, 1 gång per dygn', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/20.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/20.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/20.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/2b84284b-4e01-48ee-8f40-5792c42579f2'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '9', 'updated': 1664632800000, 'title': 'Lufttryck reducerat havsytans nivå', 'summary': 'vid havsytans nivå, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/9.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/9.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/9.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/2c789229-7fb2-485b-ad6e-505e4081d667'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '24', 'updated': 1664632800000, 'title': 'Långvågs-Irradians', 'summary': 'Långvågsstrålning, medel 1 timme, varje timme', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/24.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/24.xml'}, , {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/79c2ad4f-a216-4636-9714-713adc3c3a6a'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '40', 'updated': 1664632800000, 'title': 'Markens tillstånd', 'summary': 'momentanvärde, 1 gång/dygn, kl 06', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/40.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/40.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/40.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/cb15b040-32bf-11ea-91f2-0b81cad13edd'}, {'rel': 'codes', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/40/codes.json'}, {'rel': 'codes', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/40/codes.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '25', 'updated': 1664632800000, 'title': 'Max av MedelVindhastighet', 'summary': 'maximum av medelvärde 10 min, under 3 timmar, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/25.json'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/39cfa1a2-e61d-4a6f-9740-53b3afa9cde0'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '28', 'updated': 1664632800000, 'title': 'Molnbas', 'summary': 'lägsta molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/28.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/28.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/28.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '30', 'updated': 1664632800000, 'title': 'Molnbas', 'summary': 'andra molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/30.json'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '34', 'updated': 1664632800000, 'title': 'Molnbas', 'summary': 'fjärde molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/34.json'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '36', 'updated': 1664632800000, 'title': 'Molnbas', 'summary': 'lägsta molnbas, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/36.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/36.xml'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/37.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/37.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/87c2f9ed-beea-411d-87b7-68cb421fdaba'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '29', 'updated': 1664632800000, 'title': 'Molnmängd', 'summary': 'lägsta molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/29.json'},{'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}, {'rel': 'codes', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/29/codes.json'}, {'rel': 'codes', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/29/codes.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '31', 'updated': 1664632800000, 'title': 'Molnmängd', 'summary': 'andra molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/31.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/31.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/31.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}, {'rel': 'codes', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/31/codes.json'}, {'rel': 'codes', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/31/codes.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '33', 'updated': 1664632800000, 'title': 'Molnmängd', 'summary': 'tredje molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/33.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/33.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/9c97c702-7c6e-4c0b-b99b-f23d9a1a1422'}, {'rel': 'codes', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/33/codes.json'}, {'rel': 'codes', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/33/codes.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '35', 'updated': 1664632800000, 'title': 'Molnmängd', 'summary': 'fjärde molnlager, momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/35.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/35.xml'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/17.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/17.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/762376b4-1f11-4d40-a4c6-865c98ae3765'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '18', 'updated': 1664632800000, 'title': 'Nederbörd', 'summary': '1 gång/dygn, kl 18', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/18.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/18.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/762376b4-1f11-4d40-a4c6-865c98ae3765'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '15', 'updated': 1467331199000, 'title': 'Nederbördsintensitet', 'summary': 'max under 15 min, 4 gånger/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/15.json'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/15.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/728cbad6-b063-40de-b07c-4ce027f4614b'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '38', 'updated': 1664632800000, 'title': 'Nederbördsintensitet', 'summary': 'max av medel under 15 min, 4 gånger/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/38.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/38.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/728cbad6-b063-40de-b07c-4ce027f4614b'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '23', 'updated': 1664582400000, 'title': 'Nederbördsmängd', 'summary': 'summa, 1 gång per månad', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/23.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/23.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/e2140ebe-3719-444a-95f1-74ff0c7264be'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '14', 'updated': 1664632800000, 'title': 'Nederbördsmängd', 'summary': 'summa 15 min, 4 gånger/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/14.json'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/14.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/56d81331-90c1-4315-a746-ef83941b01ef'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '5', 'updated': 1664632800000, 'title': 'Nederbördsmängd', 'summary': 'summa 1 dygn, 1 gång/dygn, kl 06', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/5.json'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/5.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/a47932fd-8b6a-47cd-a8e7-429f3c750bdc'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '7', 'updated': 1664632800000, 'title': 'Nederbördsmängd', 'summary': 'summa 1 timme, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/7.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/7.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/7.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/2cdaac6d-e9eb-4857-a44f-b07521a18afd'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '6', 'updated': 1664632800000, 'title': 'Relativ Luftfuktighet', 'summary': 'momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/6.json'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/6.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/eb8cea14-55cf-4c30-8c13-3351870b6f8d'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '13', 'updated': 1664632800000, 'title': 'Rådande väder', 'summary': 'momentanvärde, 1 gång/tim resp 8 gånger/dygn', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/13.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/13.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/b451cab6-2a8f-4b14-a125-fe0c49a6c9aa'}, {'rel': 'codes', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/13/codes.json'}, {'rel': 'codes', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/13/codes.xml'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '12', 'updated': 1664632800000, 'title': 'Sikt', 'summary': 'momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/12.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/12.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/7208622e-70ad-4d30-b972-41e3d254da75'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '8', 'updated': 1664632800000, 'title': 'Snödjup', 'summary': 'momentanvärde, 1 gång/dygn, kl 06', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/8.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/8.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/76fd0da7-1e91-4ad3-a88b-8c2f89b0b2e0'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '10', 'updated': 1664632800000, 'title': 'Solskenstid', 'summary': 'summa 1 timme, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/10.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/10.xml'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/2cb9200d-57a3-4068-8157-5706fd0c587b'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '16', 'updated': 1664632800000, 'title': 'Total molnmängd', 'summary': 'momentanvärde, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/16.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/16.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/16.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/e9ee6972-ffda-4fe9-ac8f-74dd3b254e15'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '4', 'updated': 1664632800000, 'title': 'Vindhastighet', 'summary': 'medelvärde 10 min, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/4.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/4.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/4.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/bbcb137b-b8fc-450c-b67d-6c3239dbe0de'}]}, {'geoBox': {'minLatitude': 55.0, 'minLongitude': 10.0, 'maxLatitude': 70.0, 'maxLongitude': 25.0}, 'key': '3', 'updated': 1664632800000, 'title': 'Vindriktning', 'summary': 'medelvärde 10 min, 1 gång/tim', 'link': [{'rel': 'parameter', 'type': 'application/json', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/3.json'}, {'rel': 'parameter', 'type': 'application/xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/3.xml'}, {'rel': 'parameter', 'type': 'application/atom+xml', 'href': 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter/3.atom'}, {'rel': 'iso19139', 'type': 'application/vnd.iso.19139+xml', 'href': 'https://opendata-catalog.smhi.se/md/edb8b81b-dd7a-4a29-98ae-a454d2cfddcc'}]}]}

你需要刪除

休息

except HTTPError:
    print("This index doesn't exist, please choose an existing index!")
break

無論外部 try 塊是否捕獲到異常,您都會退出 while 循環。

並用於所有非退出異常:

try:
    ...
except Exception as ex:
    print(ex)

這段代碼中似乎不需要任何try語句。 考慮以下。

def create_parameter_url(self):
        available_parameters = self.download_available_parameters()
        print('CHOOSE PARAMETER')
        while True:
            list_parameters = str(input('\nWould you like to see available parameters? y/n \n>>>'))
            if list_parameters in ('y', 'n'):
                break

            print('Not a valid answer, please enter y/n')
      
        if list_parameters == 'y':
            for i in range(len(available_parameters['resource'])):
                if self.is_valid_argument(available_parameters['resource'][i]['title']):
                    print(i+1 , ":" , available_parameters['resource'][i]['title'] , available_parameters['resource'][i]['summary'])   
            choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
        else:
            choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))

        return self.first_url_no_json + choose_parameter

只要需要將list_parameters設置為yn ,循環就會重復; 然后處理任一情況以定義choose_parameter ,然后返回從該參數構造的 URL(?)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM