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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

驗(yàn)證腳本中的 python 版本被 SyntaxError 停止

驗(yàn)證腳本中的 python 版本被 SyntaxError 停止

暮色呼如 2023-03-22 10:42:22
使用較新 python 版本的功能,例如 f-string debugging feature: f'{some_var=}',結(jié)果為SyntaxError.假設(shè)我有一個(gè)我想提供的 python 腳本,并且用戶(hù)使用舊的 python 版本執(zhí)行所述腳本,他只會(huì)得到這個(gè)錯(cuò)誤。相反,我想為他提供一些有意義的文字,例如"Please update python to version >=3.7"我可以用一個(gè)main文件來(lái)解決它,它檢查版本然后導(dǎo)入我的腳本。有沒(méi)有辦法實(shí)現(xiàn)這一點(diǎn),同時(shí)仍然只有一個(gè)文件腳本?可能的方法:檢查sys.version或platfrom.python_version_tuple -> 不可能,SyntaxError妨礙,因?yàn)?python 解析整個(gè)文件使用 eval 來(lái)確定SyntaxError: -> 出于同樣的原因不可能try:      a = "hello"      eval("f'{a=}'")  except SyntaxError:      raise ImportError('Update your Python version!!!!')我可以以某種方式欺騙 Python 不在語(yǔ)法上檢查整個(gè)文件嗎?(我可以將整個(gè)文件“打包”成一個(gè)字符串,檢查版本,然后檢查eval字符串,但這不是一個(gè)非常干凈的解決方案,而且對(duì)開(kāi)發(fā)來(lái)說(shuō)很糟糕)編輯:這個(gè)問(wèn)題不是關(guān)于“如何檢查 python 版本”。相反,它是關(guān)于“如何在我收到新功能之前檢查 python 版本SyntaxError。
查看完整描述

1 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

我可以想到一個(gè)可能的解決方案,將整個(gè)腳本包裝在一個(gè)三引號(hào)字符串中(您需要確保它不會(huì)與腳本中的任何三引號(hào)字符串沖突),然后傳遞,像exec這樣:


import sys

if sys.version_info < (3, 7):

    raise ImportError("I need python 3.7 or higher to run!")

exec('''

# your entire script

''')

... 在這一點(diǎn)上,我建議要么只使用兩個(gè)文件,要么在您的網(wǎng)站上記錄,或者在語(yǔ)法錯(cuò)誤意味著什么的任何地方記錄。


查看完整回答
反對(duì) 回復(fù) 2023-03-22
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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