最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python argparse傳入布爾參數(shù)false不生效的解決

 更新時(shí)間:2020年04月20日 11:10:25   作者:qyhaill  
這篇文章主要介紹了python argparse傳入布爾參數(shù)false不生效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

跑代碼時(shí),在命令行給python程序傳入bool參數(shù),但無(wú)法傳入False,無(wú)論傳入True還是False,程序里面都是True。下面是代碼:

parser.add_argument("--preprocess", type=bool, default=True, help='run prepare_data or not')

高端解決方案

使用可選參數(shù)store_true,將上述代碼改為:

parse.add_argument("--preprocess", action='store_true', help='run prepare_data or not')

在命令行執(zhí)行py文件時(shí),不加--preprocess,默認(rèn)傳入的preprocess參數(shù)為False;

如果加--preprocess,則傳入的是True。

還可以將上述代碼改為:

parse.add_argument("--preprocess", default='False', action='store_true', help='run prepare_data or not')

和 1 中表達(dá)的意思完全相同。

在命令行執(zhí)行py文件時(shí),不加--preprocess,默認(rèn)傳入的preprocess參數(shù)為False;

如果加--preprocess,則傳入的是True。

還可以將上述代碼改為:

parse.add_argument("--preprocess", default='True', action='store_true', help='run prepare_data or not')

和 1 中表達(dá)的意思完全相反。

在命令行執(zhí)行py文件時(shí),不加--preprocess,默認(rèn)傳入的preprocess參數(shù)為T(mén)rue;

如果加--preprocess,則傳入的是False。

產(chǎn)生的原因和較Low的解決方案

猜測(cè)可能的原因是數(shù)據(jù)類(lèi)型導(dǎo)致的,傳入的都是string類(lèi)型,轉(zhuǎn)為bool型時(shí),由于是非空字符串,所以轉(zhuǎn)為T(mén)rue。

從這個(gè)角度去更改的話(huà),由于type參數(shù)接收的是callable的參數(shù)類(lèi)型來(lái)對(duì)我們接收的原始參數(shù)做處理,我們可以定義一個(gè)函數(shù)賦值給type參數(shù),用它對(duì)原始參數(shù)做處理:

parser.add_argument("--preprocess", type=str2bool, default='True', help='run prepare_data or not')

下面定義這個(gè)函數(shù)將str類(lèi)型轉(zhuǎn)換為bool型:

def str2bool(str):
return True if str.lower() == 'true' else False

補(bǔ)充知識(shí):parser.add_argument驗(yàn)證格式

我就廢話(huà)不多說(shuō)了,還是直接看代碼吧!

article_bp = Blueprint('article', __name__, url_prefix='/api')

api = Api(article_bp)
parser = reqparse.RequestParser()
parser.add_argument('name', type=str, help='必須填寫(xiě)名稱(chēng)', required=True)
channel_fields = {
 'id': fields.Integer,
 'cname': fields.String
}

class ChannelResource(Resource):
 def get(self):
 channels = Channel.query.all()
 return marshal(channels, channel_fields)

 def post(self):
 args = parser.parse_args()
 if args:
  channel = Channel()
  channel.cname = args.get('name')
  channel.save()
  return {'msg': '頻道添加成功', 'channel': marshal(channel, channel_fields)}
 else:
  return {'msg': '頻道添加失敗'}

以上這篇python argparse傳入布爾參數(shù)false不生效的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python設(shè)計(jì)模式中的策略模式詳解

    Python設(shè)計(jì)模式中的策略模式詳解

    策略模式屬于Python-設(shè)計(jì)模式中行為模式之一,該模式定義了一系列算法,并將每個(gè)算法封裝起來(lái),使它們可以相互替換。本文將通過(guò)示例詳細(xì)講解這一模式,需要的可以參考一下
    2023-02-02
  • python爬蟲(chóng)把url鏈接編碼成gbk2312格式過(guò)程解析

    python爬蟲(chóng)把url鏈接編碼成gbk2312格式過(guò)程解析

    這篇文章主要介紹了python爬蟲(chóng)把url鏈接編碼成gbk2312格式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 淺談pycharm下找不到sqlalchemy的問(wèn)題

    淺談pycharm下找不到sqlalchemy的問(wèn)題

    今天小編就為大家分享一篇淺談pycharm下找不到sqlalchemy的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python刪除列表元素del,pop(),remove()及clear()

    python刪除列表元素del,pop(),remove()及clear()

    這篇文章主要介紹了python刪除列表元素del,pop(),remove()及clear(),列表元素能增加就可以刪除,這里要給大家介紹的是刪除列表元素,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • Python報(bào)錯(cuò)ImportError: No module named ‘missing_module‘的解決方法

    Python報(bào)錯(cuò)ImportError: No module named ‘mi

    在 Python 開(kāi)發(fā)過(guò)程中,報(bào)錯(cuò)是常有的事,而當(dāng)遇到“ImportError: No module named ‘missing_module’”這樣的報(bào)錯(cuò)時(shí),可能會(huì)讓開(kāi)發(fā)者感到困惑和苦惱,本文將深入探討這個(gè)報(bào)錯(cuò)的原因和解決方法,幫助開(kāi)發(fā)者快速解決這個(gè)問(wèn)題,需要的朋友可以參考下
    2024-10-10
  • Python下載的11種姿勢(shì)(小結(jié))

    Python下載的11種姿勢(shì)(小結(jié))

    這篇文章主要介紹了Python下載的11種姿勢(shì)(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python制作進(jìn)度條的四種方法總結(jié)

    Python制作進(jìn)度條的四種方法總結(jié)

    如果你之前沒(méi)用過(guò)進(jìn)度條,八成是覺(jué)得它會(huì)增加不必要的復(fù)雜性或者很難維護(hù),其實(shí)不然。要加一個(gè)進(jìn)度條其實(shí)只需要幾行代碼,快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧
    2022-11-11
  • python中的協(xié)程深入理解

    python中的協(xié)程深入理解

    這篇文章主要給大家介紹了關(guān)于python中協(xié)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python用quad、dblquad實(shí)現(xiàn)一維二維積分的實(shí)例詳解

    python用quad、dblquad實(shí)現(xiàn)一維二維積分的實(shí)例詳解

    今天小編大家分享一篇python用quad、dblquad實(shí)現(xiàn)一維二維積分的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 在matplotlib的圖中設(shè)置中文標(biāo)簽的方法

    在matplotlib的圖中設(shè)置中文標(biāo)簽的方法

    今天小編就為大家分享一篇在matplotlib的圖中設(shè)置中文標(biāo)簽的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

慈利县| 定边县| 武夷山市| 山阴县| 阜宁县| 石河子市| 陕西省| 抚远县| 白沙| 岐山县| 益阳市| 册亨县| 乡宁县| 辉县市| 孟州市| 云梦县| 玉树县| 德令哈市| 普定县| 两当县| 阳新县| 盈江县| 息烽县| 工布江达县| 乐平市| 柘荣县| 孟村| 舟曲县| 邻水| 监利县| 湾仔区| 饶平县| 崇礼县| 洱源县| 朝阳区| 彭泽县| 阿坝县| 颍上县| 财经| 瑞金市| 大理市|