FuckIt.py你知道嗎?這是一個(gè)Python黑科技

說(shuō)起 Python 強(qiáng)大的地方俱萍,你可能想到是它的優(yōu)雅端壳、簡(jiǎn)潔、開(kāi)發(fā)速度快枪蘑,社區(qū)活躍度高损谦。但真正使得這門(mén)語(yǔ)言經(jīng)久不衰的一個(gè)重要原因是它的無(wú)所不能岖免,因?yàn)樯鐓^(qū)有各種各樣的第三庫(kù),使得我們用Python實(shí)現(xiàn)一個(gè)東西實(shí)在是太簡(jiǎn)單了成翩,你經(jīng)常會(huì)看到幾行代碼實(shí)現(xiàn)爬蟲(chóng)觅捆,10行代碼實(shí)現(xiàn)人臉識(shí)別,雖然有些夸張麻敌,但確實(shí)就是有這樣的庫(kù)幫你把所有的繁文縟節(jié)全部封裝了栅炒,最后給你開(kāi)放一個(gè)優(yōu)雅的 API。

今天給你推薦的這個(gè)庫(kù)叫 “FuckIt.py”术羔,名字一看就是很黃很暴力的那種赢赊,作者是這樣介紹它的:

FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.

FuckIt.py 使用了最先進(jìn)的技術(shù)能夠使你的代碼不管里面有什么樣的錯(cuò)誤,你只管 FuckIt级历,程序就能“正呈鸵疲”執(zhí)行,兵來(lái)將擋水來(lái)土掩寥殖。

還是先來(lái)看個(gè)例子怎么使用的吧玩讳。

安裝

pip install fuckit

假設(shè)有一個(gè)目標(biāo)文件: broke.py

def f():

broken_code

print('fuckit chaining works')

for

let's just assume this is a big module of shitty code.

x = y

y = x

1 / 0 # Oh shhhiiiiiii

var = "Are you proud of what you've done?"

broke.py 中有幾處明顯的錯(cuò)誤,包括語(yǔ)法錯(cuò)誤嚼贡,變量 broken_code 沒(méi)有被定義熏纯,還有0當(dāng)作被除數(shù)。

如果直接 import broke 肯定會(huì)報(bào)錯(cuò)

>>> import broke

File "broke.py", line 5

for

^

SyntaxError: invalid syntax

這時(shí)你可以使用 fuckit 將 broke 導(dǎo)入進(jìn)來(lái)粤策。

>>> import fuckit

>>> fuckit("broke")

>>> broke

調(diào)用函數(shù) f 的時(shí)候也會(huì)報(bào)錯(cuò)

>>> broke.f()

NameError: global name 'broken_code' is not defined

你可以使用鏈?zhǔn)?fuckit 來(lái)調(diào)用這個(gè)有問(wèn)題的函數(shù)

>>> fuckit(broke).f()

fuckit chaining works

或者

>>> fuckit(fuckit("broke")).f()

fuckit chaining works

除此之外樟澜,fuckit 還可以作為裝飾器和上下文管理器來(lái)使用。

裝飾函數(shù)

>>> @fuckit

... def broken_function():

... non_existant_variable # Let's create a NameError

... return 'Function decorator works'

...

>>> print(broken_function())

None

裝飾類(lèi)

>>> @fuckit

... class BrokenClass(object):

... def f(self):

... self.black_hole = 1 / 0

... return 'Class decorator works'

...

>>> print(BrokenClass().f())

None

上下文管理器

>>> with fuckit:

... print('Context manager works')

... raise RuntimeError()

...

等價(jià)于

try:

print('Context manager works')

except RuntimeError:

pass

看到這里叮盘,是不是感覺(jué) fuckit 很暴力秩贰,那么它能用在什么場(chǎng)景?個(gè)人認(rèn)為這個(gè)庫(kù)很雞肋柔吼,因?yàn)槟愕拇a不應(yīng)該容忍這些錯(cuò)誤的出現(xiàn)毒费,如果出現(xiàn)了錯(cuò)誤應(yīng)該立馬修復(fù)才是,但有一種可能的使用場(chǎng)景是你剛接手一份超復(fù)雜的代碼愈魏,里面各種看不懂的代碼蝗罗,而這些操蛋的代碼時(shí)不時(shí)出現(xiàn)一個(gè)錯(cuò)誤,而你又沒(méi)法駕馭它的時(shí)候蝌戒,你就用 fuckit 吧串塑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市北苟,隨后出現(xiàn)的幾起案子桩匪,更是在濱河造成了極大的恐慌,老刑警劉巖友鼻,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傻昙,死亡現(xiàn)場(chǎng)離奇詭異闺骚,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)妆档,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)僻爽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人贾惦,你說(shuō)我怎么就攤上這事胸梆。” “怎么了须板?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵碰镜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我习瑰,道長(zhǎng)绪颖,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任甜奄,我火速辦了婚禮柠横,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘课兄。我一直安慰自己牍氛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布第喳。 她就那樣靜靜地躺著,像睡著了一般踱稍。 火紅的嫁衣襯著肌膚如雪曲饱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天珠月,我揣著相機(jī)與錄音扩淀,去河邊找鬼。 笑死啤挎,一個(gè)胖子當(dāng)著我的面吹牛驻谆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庆聘,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼胜臊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了伙判?” 一聲冷哼從身側(cè)響起象对,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宴抚,沒(méi)想到半個(gè)月后勒魔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體甫煞,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年冠绢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抚吠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弟胀,死狀恐怖楷力,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邮利,我是刑警寧澤弥雹,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站延届,受9級(jí)特大地震影響剪勿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜方庭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一厕吉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧械念,春花似錦头朱、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至希停,卻和暖如春烁巫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宠能。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工亚隙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人违崇。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓阿弃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親羞延。 傳聞我的和親對(duì)象是個(gè)殘疾皇子渣淳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,823評(píng)論 2 16
  • 先創(chuàng)建服務(wù)端的APP 1.官網(wǎng)下載Winrun4j砂客。http://winrun4j.sourceforge.net...
    Alex_1799閱讀 1,726評(píng)論 1 2
  • 夜是被反復(fù)贅述的平庸泥张,沒(méi)有遠(yuǎn)方的夢(mèng)就是朦朧的幽冥,愛(ài)濃墨寫(xiě)就的空鞠值,它是思念留下的白媚创,混濁的過(guò)往變成線條,我也畫(huà)不出...
    閱客聽(tīng)閱讀 271評(píng)論 0 1
  • 故事一 人在20歲的時(shí)候彤恶,如果不取得成功钞钙,那么之后,也很難取得成功声离。 網(wǎng)上流傳的大概是愛(ài)因斯坦說(shuō)過(guò)的名言芒炼。 然而他...
    哈村de冬天閱讀 242評(píng)論 0 2
  • 首先讓我想起的是2聽(tīng)紅牛和1聽(tīng)咖啡。還有那個(gè)溫書(shū)到凌晨3點(diǎn)的夜晚术徊。也許這樣的經(jīng)歷不會(huì)再有本刽,上一次恐怕是大學(xué)期末了。...
    tadadd閱讀 165評(píng)論 0 0