第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用argparse從stdin或輸入文件中讀取

使用argparse從stdin或輸入文件中讀取

慕容3067478 2021-03-11 14:10:08
我想使用argparse從讀取或者 stdin 或輸入文件。換一種說法:如果給出了輸入文件,請閱讀該文件。如果不是,請僅在不是終端的情況下從stdin讀取。(即正在傳輸文件)如果這兩個條件都不滿足,則向argparse發(fā)出信號,指出輸入不正確。我想argparse不將任何文件識別為失敗的輸入。
查看完整描述

2 回答

?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個贊

我只建議設(shè)置nargs='?',然后分別處理Nonetype的情況。根據(jù)官方文檔,“ FileType對象了解偽參數(shù)'-',并針對可讀FileType對象將其自動轉(zhuǎn)換為sys.stdin,對于可寫FileType對象將其自動轉(zhuǎn)換為sys.stdout”。因此,如果您想要標(biāo)準(zhǔn)輸入,只需給它一個破折號。


例子

import argparse

import sys

parser = argparse.ArgumentParser()

parser.add_argument('inputfile', nargs='?', type=argparse.FileType('r'))

if not inputfile:

    sys.exit("Please provide an input file, or pipe it via stdin")


查看完整回答
反對 回復(fù) 2021-03-24
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個贊

使用鏈接到問題的信息,如何sys.stdin.isatty()檢查程序是否正在運(yùn)行的實(shí)例是管道的一部分,如果不是,則從輸入文件中讀取,否則從中讀取stdin。如果輸入文件不存在或stdin為空,則拋出錯誤。



查看完整回答
反對 回復(fù) 2021-03-24
  • 2 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號