16. Լողացող կետի թվաբանություն. խնդիրներ և սահմանափակումներ

16.1: Ինտերակտիվ ռեժիմ

16.1.1: սխալ բեռնաթափման

Երբ սխալ է տեղի ունենում, թարգմանիչը տպում է սխալի հաղորդագրություն և կույտի հետք: Ինտերակտիվ ռեժիմում այն ​​այնուհետև վերադառնում է առաջնային հուշում; երբ մուտքագրումը գալիս է ֆայլից, այն դուրս է գալիս ոչ զրոյական ելքի կարգավիճակով, ստեկի հետքը տպելուց հետո: (Բացառություններ, որոնք վարվում են ա except կետում ա try հայտարարությունը սխալներ չեն այս համատեքստում:) Որոշ սխալներ անվերապահորեն ճակատագրական են և առաջացնում են ելք ոչ զրոյական ելքով. սա վերաբերում է ներքին անհամապատասխանություններին և հիշողության սպառման որոշ դեպքերին: Բոլոր սխալի հաղորդագրությունները գրված են ստանդարտ սխալի հոսքի մեջ. Կատարված հրամաններից նորմալ արդյունքը գրվում է ստանդարտ ելքի վրա:

Մուտքագրելով ընդհատման նիշը (սովորաբար Control-C or Delete) դեպի առաջնային կամ երկրորդական հուշում չեղյալ է հայտարարում մուտքագրումը և վերադառնում առաջնային հուշմանը: 1 Հրամանի կատարման ընթացքում ընդհատում մուտքագրելը բարձրացնում է KeyboardInterrupt բացառություն, որը կարող է կարգավորվել ա try հայտարարության մեջ:

16.1.2: Գործարկվող Python սցենարներ

BSD'ish Unix համակարգերում Python սկրիպտները կարող են ուղղակիորեն կատարելագործելի, ինչպես shell script-ները, գիծ դնելով

(ենթադրելով, որ թարգմանիչը օգտագործողի ձեռքում է PATH) սկրիպտի սկզբում և ֆայլին տալով գործարկվող ռեժիմ։ Այն #! պետք է լինի ֆայլի առաջին երկու նիշերը: Որոշ հարթակներում այս առաջին տողը պետք է ավարտվի Unix-ի ոճով վերջավորությամբ ('\n'), ոչ թե Windows ('\r\n') տողի վերջավորություն. Նկատի ունեցեք, որ հեշը կամ ֆունտը նիշը, '#', օգտագործվում է Python-ում մեկնաբանություն սկսելու համար։

Սցենարին կարող է տրվել գործարկվող ռեժիմ կամ թույլտվություն՝ օգտագործելով chmod հրաման.

Windows համակարգերում «գործարկվող ռեժիմ» հասկացություն չկա: Python-ի տեղադրիչը ավտոմատ կերպով միանում է .py ֆայլեր հետ python.exe այնպես որ Python ֆայլի վրա կրկնակի սեղմումով այն կաշխատի որպես սցենար: Ընդլայնումը կարող է նաև լինել .pyw, այդ դեպքում սովորաբար հայտնվող վահանակի պատուհանը ճնշվում է։

16.1.3: Ինտերակտիվ գործարկման ֆայլ

Երբ դուք օգտագործում եք Python-ը ինտերակտիվ կերպով, հաճախ հարմար է որոշ ստանդարտ հրամաններ կատարել ամեն անգամ, երբ թարգմանիչը գործարկվում է: Դուք կարող եք դա անել՝ սահմանելով շրջակա միջավայրի փոփոխական անունով PYTHONSTARTUP ձեր մեկնարկային հրամանները պարունակող ֆայլի անվանմանը: Սա նման է .profile Unix-ի պատյանների առանձնահատկությունը:

Այս ֆայլը կարդացվում է միայն ինտերակտիվ նիստերում, ոչ այն ժամանակ, երբ Python-ը հրահանգներ է կարդում սցենարից, և ոչ այն ժամանակ, երբ /dev/tty տրված է որպես հրամանների բացահայտ աղբյուր (որն այլ կերպ վարվում է որպես ինտերակտիվ նիստ): Այն իրականացվում է նույն անվանատարածքում, որտեղ կատարվում են ինտերակտիվ հրամաններ, որպեսզի այն օբյեկտները, որոնք նա սահմանում կամ ներմուծում է, կարող են օգտագործվել առանց որակավորման ինտերակտիվ նիստում: Կարող եք նաև փոխել հուշումները sys.ps1 և sys.ps2 այս ֆայլում:

Եթե ​​ցանկանում եք կարդալ լրացուցիչ մեկնարկային ֆայլ ընթացիկ գրացուցակից, կարող եք դա ծրագրավորել գլոբալ մեկնարկային ֆայլում՝ օգտագործելով այնպիսի կոդ, ինչպիսին է. if os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read()). Եթե ​​ցանկանում եք գործարկման ֆայլն օգտագործել սկրիպտում, ապա պետք է սա բացահայտորեն անեք սկրիպտում.

16.1.4: Անհատականացման մոդուլներ

Python-ը տրամադրում է երկու կեռիկ՝ այն հարմարեցնելու համար. sitecustomize և usercustomize. Տեսնելու համար, թե ինչպես է այն աշխատում, նախ պետք է գտնել ձեր օգտատերերի կայքի փաթեթների գրացուցակի գտնվելու վայրը: Սկսեք Python-ը և գործարկեք այս կոդը.

>>>

Այժմ դուք կարող եք ստեղծել ֆայլ անունով usercustomize.py այդ գրացուցակում և տեղադրիր այն, ինչ ուզում ես: Այն կազդի Python-ի յուրաքանչյուր կանչի վրա, քանի դեռ այն չի սկսվել -s ավտոմատ ներմուծումն անջատելու տարբերակ:

sitecustomize աշխատում է նույն կերպ, բայց սովորաբար ստեղծվում է համակարգչի ադմինիստրատորի կողմից գլոբալ կայքի փաթեթների գրացուցակում և ներմուծվում է մինչ այդ usercustomize. Տես փաստաթղթերը site մոդուլ լրացուցիչ մանրամասների համար:

Հղումներ

1
GNU Readline փաթեթի հետ կապված խնդիրը կարող է կանխել դա:
ArmenianEnglish