@lenooh මගේ විමසුම තෘප්තිමත් කළේය. 'පයිතන් මර්දනය නව රේඛාව' සෙවීමේදී මම මෙම ලිපිය සොයා ගතිමි. පුට්ටි සඳහා පයිතන් 3.2 සංවර්ධනය කිරීම සඳහා මම රාස්ප්බෙරි පයි හි IDLE3 භාවිතා කරමි. මට අවශ්ය වූයේ පුට්ටි විධාන රේඛාවේ ප්රගති තීරුවක් නිර්මාණය කිරීමට ය. පිටුව අනුචලනය කිරීම මට අවශ්ය නොවීය. වැඩසටහන නතර වී නැති බවත්, දිවා ආහාරය සඳහා විනෝදජනක අනන්ත පුඩුවක් මත යවා නැති බවත් පරිශීලකයාට විහිළු තහළු නොකිරීමට තිරස් රේඛාවක් අවශ්ය විය - 'මාව අත්හරින්න, මම හොඳින් සිටිමි, නමුත් මේ සඳහා යම් කාලයක් ගතවනු ඇත. ' අන්තර්ක්රියාකාරී පණිවිඩය - පෙළෙහි ප්රගති තීරුවක් වැනි.
මෙම print('Skimming for', search_string, '\b! .001', end='')
'001' ලකුණු කසා කාල සීමාව දීර්ඝ, ⌫⌫⌫ rubout පසුව කාලයක් ලෙස backspaces තුනක් මුද්රණය කරනු ලබන ඊලඟ තිරය-ලිවීම්, සූදානම් විසින් පණිවිඩය ආරම්භනය. search_string
ගිරවුන්ගේ පරිශීලක ආදානයෙන් පසුව , විරාම ලකුණු නිසි පරිදි ස්ථානගත කරමින් වෙනත් ආකාරයකින් බල කරන අවකාශයට පිටුපසට \b!
මගේ search_string
පෙළෙහි විශ්මය ජනක ලක්ෂ්යය print()
කපා දමයි. ඉන් පසුව අවකාශයක් සහ මා අනුකරණය කරන 'ප්රගති තීරුවේ' පළමු 'තිත' ඇත. අනවශ්ය ලෙස, පණිවුඩය පිටු අංකය සමඟ ප්රමුඛ වේ (ප්රමුඛ ශුන්යයන් සහිත දිග තුනකට සංයුති කර ඇත) ප්රගතිය සැකසෙන බව පරිශීලකයාගේ අවධානයට ලක් කිරීම සඳහා වන අතර එමඟින් අප පසුව ගොඩනඟන කාල පරිච්ඡේද ගණන ද පිළිබිඹු වේ. හරි.
import sys
page=1
search_string=input('Search for?',)
print('Skimming for', search_string, '\b! .001', end='')
sys.stdout.flush() # the print function with an end='' won't print unless forced
while page:
# some stuff…
# search, scrub, and build bulk output list[], count items,
# set done flag True
page=page+1 #done flag set in 'some_stuff'
sys.stdout.write('\b\b\b.'+format(page, '03')) #<-- here's the progress bar meat
sys.stdout.flush()
if done: #( flag alternative to break, exit or quit)
print('\nSorting', item_count, 'items')
page=0 # exits the 'while page' loop
list.sort()
for item_count in range(0, items)
print(list[item_count])
#print footers here
if not (len(list)==items):
print('#error_handler')
ප්රගති බාර් මස් sys.stdout.write('\b\b\b.'+format(page, '03'))
පේළියේ ඇත. පළමුව, වමට මකා දැමීම සඳහා, එය කර්සරය සංඛ්යාත්මක අක්ෂර තුනට ඉහළින් '\ b \ b \ b' out රවුට් ලෙස උපස්ථ කර ප්රගති තීරුවේ දිගට එකතු කිරීම සඳහා නව කාල පරිච්ඡේදයක් පහත දමයි. ඉන්පසු එය මේ දක්වා ඉදිරියට ගොස් ඇති පිටුවේ ඉලක්කම් තුනක් ලියයි. sys.stdout.write()
සම්පූර්ණ බෆරයක් හෝ ප්රතිදාන නාලිකාව වැසෙන තෙක් බලා සිටින නිසා sys.stdout.flush()
, වහාම ලිවීමට බල කරයි. sys.stdout.flush()
අවසන් බවට ඉදිකර ඇත print()
සමග අතුරු මාර්ගයක් වන print(txt, end='' )
. ඉන්පසු කේතය එහි ලෞකික කාල දැඩි ක්රියාකාරකම් හරහා ලූප වන අතර එය ඉලක්කම් තුනක් ආපසු පිසදැමීමට, කාල පරිච්ඡේදයක් එකතු කර නැවත ඉලක්කම් තුනක් ලිවීමට වැඩි වන තෙක් මෙහි නැවත පැමිණෙන තෙක් වැඩි යමක් මුද්රණය නොකරයි.
පිසදැමූ සහ නැවත ලිවූ ඉලක්කම් තුන කිසිසේත් අවශ්ය නොවේ - එය sys.stdout.write()
එදිරිව එදිරිව නිදර්ශනය කරන සමෘධියක් පමණි print()
. කාල පරිච්ඡේදයක් සමඟ ඔබට පහසුවෙන්ම ප්රමුඛ විය හැකි අතර විසිතුරු බැක්ස්ලෑෂ්-බී ⌫ බැක්ස්පේස් තුන අමතක කරන්න (ඇත්ත වශයෙන්ම ආකෘතිගත පිටු ගණන් ලිවීමද නොකෙරේ) කාල සීමාව එක් වරකට දිගින් දිගට මුද්රණය කිරීමෙන් - අවකාශයන් හෝ නව රේඛා නොමැතිව sys.stdout.write('.'); sys.stdout.flush()
යුගල.
රාස්ප්බෙරි පයි අයිඩීඑල් 3 පයිතන් කවචය පසුපස අවකාශය ⌫ රබට් ලෙස ගෞරව නොකරන නමුත් ඒ වෙනුවට අවකාශයක් මුද්රණය කරමින් පැහැදිලි අතුරු කොටස් ලැයිස්තුවක් නිර්මාණය කරන බව කරුණාවෙන් සලකන්න.
- (o = 8> විස්