பைதான் மற்றும் பாஷ் நட்பை உருவாக்குதல்: பைதான்-ஷெல் மற்றும் ஸ்மார்ட்-என்வி வி லைப்ரரிகளின் வெளியீடு. 1.0.1

அனைவருக்கும் நல்ல நாள்!

29 பிப்ரவரி மாதம் 9 ஆண்டுகள் நூலகங்களின் அதிகாரப்பூர்வ நுண் வெளியீடு நடந்தது ஸ்மார்ட்-என்வி и மலைப்பாம்பு-ஓடு. தெரியாதவர்கள் முதலில் படிக்க பரிந்துரைக்கிறேன் முதல் இடுகை.

சுருக்கமாக, மாற்றங்களில் கட்டளை நிறைவு, கட்டளைகளை இயக்குவதற்கான விரிவாக்கப்பட்ட திறன்கள், சில மறுசீரமைப்பு மற்றும் பிழை திருத்தங்கள் ஆகியவை அடங்கும்.

விவரங்களுக்கு பூனையைப் பார்க்கவும்.

பைதான் ஷெல்லில் புதிதாக என்ன இருக்கிறது?

நான் உடனடியாக இனிப்புடன் ஆரம்பிக்கிறேன்.

கட்டளை நிறைவு

ஏற்கிறேன் - எடிட்டர்/ஐடிஇ/டெர்மினல் கட்டளையின் பெயரையும், சில சமயங்களில் அழைப்பு அளவுருக்களையும் கேட்கும் போது இது வசதியானதா? எனவே python-shell இதேபோன்ற செயல்பாட்டை வழங்குவதில் படிப்படியாக முன்னேறி வருகிறது. ஹூட்டின் கீழ் உள்ள ஷெல் வகுப்பின் புலங்கள் அதன் புலங்கள் அல்ல (எங்கும் நிறைந்த __getattr__), தன்னியக்க நிரப்புதலும் புதிதாக உருவாக்கப்பட்டது (முறையே __dir__ முறையை ஓவர்லோட் செய்வதன் மூலம்). தன்னியக்க நிறைவு தற்போது BPython மற்றும் IPython சூழல்களில் செயல்படுகிறது. நிச்சயமாக, PyCharm போன்ற மிகவும் மதிப்புமிக்க தயாரிப்புகளுடன் ஒருங்கிணைப்பைப் பார்க்க விரும்புகிறேன், மேலும் இந்த திசையில் செயல்படுத்துவதற்கான சாத்தியக்கூறுகள் ஆய்வு செய்யப்படுகின்றன.

பண்புகளைச் சேர்த்தல்

வெளியீட்டின் ஒரு பகுதியாக, ஷெல் கிளாஸ் ஒரு புதிய லாஸ்ட்_கமாண்ட் சொத்தை பெற்றது. ஷெல்எக்ஸப்சன் ஒரு கட்டளை மூலம் பூஜ்ஜியமற்ற திரும்பும் குறியீட்டை எறியும்போது, ​​கட்டளைப் பொருள் __call__() அழைப்பிலிருந்து கட்டளைப் பொருளுக்குத் திரும்பவில்லை என்பதால் அதற்கான தேவை எழுந்தது. இப்போது இதைச் செய்ய ஒரு வாய்ப்பு உள்ளது:

try:
    command = Shell.touch('/foo.txt')
except ShellException:
    command = Shell.last_command

கட்டளைப் பொருளின் பண்புகளின் பட்டியல் விரிவடைந்தது. கட்டளை வெளியீட்டை பிழை ஸ்ட்ரீமுக்கு வழங்கும் பிழைகள் புலம் சேர்க்கப்பட்டது.

தவறான பைதான் பெயர்களுடன் கட்டளைகளை இயக்குகிறது

ஏறக்குறைய ஒவ்வொரு கணினியிலும் குறைந்தது ஒரு நிரல் உள்ளது, அதன் பெயர் பைத்தானில் அடையாளங்காட்டியாக பொருந்தாது (எடுத்துக்காட்டாக, நன்கு அறியப்பட்ட 2to3 பயன்பாடு). உடன் அவளை அழைக்கவும்

Shell.2to3()

அது வேலை செய்யவில்லை என்றால், மொழிபெயர்ப்பாளர் அதை அனுமதிக்க மாட்டார்.
கட்டளையை ஒரு சுற்று வழியில் அழைப்பதே தீர்வு:

Shell("2to3")  # возвращает объект команды

அதே வழியில் நீங்கள் மொழிபெயர்ப்பாளரின் பார்வையில் செல்லுபடியாகும் கட்டளைகளை இயக்க முடியும் என்பது கவனிக்கத்தக்கது, இது போன்ற நெகிழ்வான ஸ்கிரிப்ட்களை உருவாக்குவதற்கான வாய்ப்பை விட்டுச்செல்கிறது.

cmd = "python{}".format(sys.version_info[0])
Shell(cmd)(*args, **kwargs)

சிறு மாற்றங்கள்

  • கட்டளை வகுப்பு பொருளின் __repr__() மற்றும் __str__() முறைகள் செயல்படுத்தப்பட்டுள்ளன, அவை இப்போது உள்ளுணர்வு மதிப்புகளை உருவாக்குகின்றன (முறையே அளவுருக்கள் கொண்ட கட்டளை மற்றும் அதன் stdout வெளியீடு).
  • சிறிய குறியீடு திருத்தங்கள்.
  • சோதனைக் கவரேஜைச் சேர்த்தல், ஏற்கனவே உள்ளவற்றை மறுசீரமைத்தல்.
  • துணைச் செயலாக்கம் மற்றும் செயல்முறை வகுப்புகளைச் சேர்ப்பது, துணைச் செயலாக்கத் தொகுதியுடன் பணிபுரியும் போது கூடுதல் அளவிலான சுருக்கத்தை உருவாக்குவதே இதன் நோக்கமாகும். பைதான் 2/3 உடன் பணிபுரியும் போது குறியீட்டு நகல்களை அகற்றுவதற்கு பெரும்பாலும் தேவைப்படுகிறது, ஆனால் மற்ற நன்மைகளையும் வழங்கும் திறன் உள்ளது.

ஸ்மார்ட்-என்வியில் புதியது என்ன?

python-shell போலல்லாமல், smart-env லைப்ரரியில் குறைவான மாற்றங்கள் ஏற்பட்டுள்ளன. இதற்கான காரணம் எளிதானது - இலவச நேரமின்மை, இதன் போது சில சாத்தியமான மேம்பாடுகள் (உதாரணமாக, சூழல் மாறிகளின் தானாக நிரப்புதல்) அடுத்த வெளியீட்டிற்கு நகர்த்தப்பட்டது.

உண்மையில், நூலகத்தில் பின்வரும் மாற்றங்கள் செய்யப்பட்டுள்ளன:

  • சிறிய குறியீடு திருத்தங்கள்.
  • மறுசீரமைப்பு.
  • ஏற்கனவே உள்ள சோதனைகளின் மறுசீரமைப்பு மற்றும் சுத்திகரிப்பு.

அடுத்த வெளியீடுகளுக்கான திட்டங்கள்

python-shell நூலகம்

  • தடுக்காத கட்டளை அழைப்புகளுக்கான ஆதரவைச் சேர்த்தல் (செயல்பாட்டின் இணையாக).

ஸ்மார்ட்-என்வி நூலகம்

  • ENV வகுப்பில் சுற்றுச்சூழல் மாறிகளின் தன்னியக்கத்தை செயல்படுத்துதல்.
  • env மாறி இருப்பதை சரிபார்க்க இன் ஆபரேட்டருக்கான ஆதரவு.
  • ENV வகுப்பிற்கான str() மற்றும் repr() செயல்பாடுகளுக்கான ஆதரவை செயல்படுத்துதல்.

அடுத்த வெளியீடுகளின் தேதிகள் பின்வரும் தகவல் தொடர்பு சேனல்களில் மேலும் அறிவிக்கப்படும்:

ஆதாரம்: www.habr.com

கருத்தைச் சேர்