ការរុំ កាត់ និងធ្វើទ្រង់ទ្រាយខ្សែអក្សរនៅក្នុង Python ជាមួយ textwrap

អាជីវកម្ម

ដើម្បីធ្វើទ្រង់ទ្រាយខ្សែអក្សរនៅក្នុង Python ដោយរុំ (ការបំបែកបន្ទាត់) និងកាត់ឱ្យខ្លី (អក្សរកាត់) វាតាមចំនួនតួអក្សរដែលបំពាន សូមប្រើម៉ូឌុលសរសេរអត្ថបទនៃបណ្ណាល័យស្តង់ដារ។

ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។

  • រុំខ្សែអក្សរ:wrap(),fill()
  • កាត់​ខ្សែអក្សរ (បាន​លុបចោល):shorten()
  • វត្ថុ TextWrapper

ប្រសិនបើអ្នកចង់សរសេរខ្សែអក្សរវែងនៅលើបន្ទាត់ច្រើននៅក្នុងកូដជំនួសឱ្យលទ្ធផល សូមមើលអត្ថបទខាងក្រោម។

រុំខ្សែអក្សរ:wrap(),fill()

ជាមួយនឹងមុខងារ wrap() នៃម៉ូឌុល textwrap អ្នកអាចទទួលបានបញ្ជីបែងចែកដោយការបំបែកពាក្យដើម្បីឱ្យសមទៅនឹងចំនួនតួអក្សរដែលបំពាន។

បញ្ជាក់ចំនួនតួអក្សរសម្រាប់ទទឹងអាគុយម៉ង់ទីពីរ។ លំនាំដើមគឺទទឹង = 70 ។

import textwrap

s = "Python can be easy to pick up whether you're a first time programmer or you're experienced with other languages"

s_wrap_list = textwrap.wrap(s, 40)
print(s_wrap_list)
# ['Python can be easy to pick up whether', "you're a first time programmer or you're", 'experienced with other languages']

ដោយប្រើបញ្ជីដែលទទួលបាន អ្នកអាចទទួលបានខ្សែអក្សរដែលត្រូវបានបំបែកដោយកូដបន្ទាត់ថ្មីដោយធ្វើដូចខាងក្រោម
\n'.join(list)

print('\n'.join(s_wrap_list))
# Python can be easy to pick up whether
# you're a first time programmer or you're
# experienced with other languages

មុខងារបំពេញ() ត្រឡប់ខ្សែបន្ទាត់ថ្មីជំនួសឱ្យបញ្ជី។ វាដូចគ្នានឹងការប្រតិបត្តិកូដខាងក្រោមបន្ទាប់ពី wrap() ដូចក្នុងឧទាហរណ៍ខាងលើ។
\n'.join(list)

វាកាន់តែងាយស្រួលនៅពេលដែលអ្នកមិនត្រូវការបញ្ជី ប៉ុន្តែចង់បញ្ចេញខ្សែទទឹងថេរទៅស្ថានីយ។ល។

print(textwrap.fill(s, 40))
# Python can be easy to pick up whether
# you're a first time programmer or you're
# experienced with other languages

ប្រសិនបើអាគុយម៉ង់ max_line ត្រូវបានបញ្ជាក់ ចំនួនបន្ទាត់បន្ទាប់ពីវានឹងត្រូវបានលុបចោល។

print(textwrap.wrap(s, 40, max_lines=2))
# ['Python can be easy to pick up whether', "you're a first time programmer or [...]"]

print(textwrap.fill(s, 40, max_lines=2))
# Python can be easy to pick up whether
# you're a first time programmer or [...]

ប្រសិន​បើ​បាន​លុប​ចោល នោះ​ខ្សែ​អក្សរ​ខាង​ក្រោម​នឹង​ត្រូវ​បាន​បញ្ចេញ​នៅ​ខាង​ចុង​តាម​លំនាំដើម។
[...]'

វាអាចត្រូវបានជំនួសដោយខ្សែអក្សរណាមួយជាមួយនឹងកន្លែងដាក់អាគុយម៉ង់។

print(textwrap.fill(s, 40, max_lines=2, placeholder=' ~'))
# Python can be easy to pick up whether
# you're a first time programmer or ~

អ្នកក៏អាចបញ្ជាក់ខ្សែអក្សរដែលត្រូវបន្ថែមទៅការចាប់ផ្តើមនៃបន្ទាត់ទីមួយជាមួយនឹងអាគុយម៉ង់ initial_indent ។ វាអាចត្រូវបានប្រើនៅពេលអ្នកចង់ចូលបន្ទាត់ចាប់ផ្តើមនៃកថាខណ្ឌ។

print(textwrap.fill(s, 40, max_lines=2, placeholder=' ~', initial_indent='  '))
#   Python can be easy to pick up whether
# you're a first time programmer or ~

សូមប្រយ័ត្នជាមួយតួអក្សរទំហំពេញ និងពាក់កណ្តាល។

នៅក្នុង textwrap ចំនួនតួអក្សរត្រូវបានគ្រប់គ្រងដោយចំនួនតួអក្សរ មិនមែនដោយទទឹងតួអក្សរទេ ហើយទាំងតួអក្សរមួយបៃ និងពីរបៃត្រូវបានចាត់ទុកថាជាតួអក្សរតែមួយ។

s = '文字文字文字文字文字文字12345,67890, 文字文字文字abcde'

print(textwrap.fill(s, 12))
# 文字文字文字文字文字文字
# 12345,67890,
# 文字文字文字abcde

បើ​អ្នក​ចង់​រុំ​អត្ថបទ​ដោយ​តួអក្សរ​ខនជី​ចម្រុះ​ជាមួយ​ទទឹង​ថេរ សូម​យោង​ទៅ​កាន់​ខាងក្រោម។

កាត់​ខ្សែអក្សរ (បាន​លុបចោល):shorten()

ប្រសិន​បើ​អ្នក​ចង់​កាត់​ឲ្យ​ខ្លី និង​លុប​ខ្សែ​អក្សរ សូម​ប្រើ​មុខងារ shorten() ក្នុង​ម៉ូឌុល textwrap ។

អក្សរកាត់ជាឯកតាពាក្យដើម្បីឱ្យសមនឹងចំនួនតួអក្សរតាមអំពើចិត្ត។ ចំនួន​តួ​អក្សរ រួម​ទាំង​ខ្សែ​ដែល​បង្ហាញ​ការ​លុប​ចោល​គឺ​តាម​អំពើ​ចិត្ត។ ខ្សែអក្សរដែលបង្ហាញពីការខកខានអាចត្រូវបានកំណត់ជាមួយនឹងកន្លែងដាក់អាគុយម៉ង់ ដែលកំណត់លំនាំដើមដូចខាងក្រោម។
[...]'

s = 'Python is powerful'

print(textwrap.shorten(s, 12))
# Python [...]

print(textwrap.shorten(s, 12, placeholder=' ~'))
# Python is ~

ទោះជាយ៉ាងណាក៏ដោយ ជាឧទាហរណ៍ ខ្សែអក្សរជប៉ុនមិនអាចអក្សរកាត់បានល្អទេ ព្រោះវាមិនអាចបែងចែកជាពាក្យបានទេ។

s = 'Pythonについて。Pythonは汎用のプログラミング言語である。'

print(textwrap.shorten(s, 20))
# [...]

ប្រសិនបើ​អ្នក​ចង់​សរសេរ​អក្សរកាត់​ដោយ​ពិចារណា​តែ​ចំនួន​តួ​អក្សរ​ជំនួស​ឱ្យ​ឯកតា​នៃ​ពាក្យ នោះ​វា​អាច​សម្រេច​បាន​យ៉ាង​ងាយ​ដូច​ខាងក្រោម​។

s_short = s[:12] + '...'
print(s_short)
# Pythonについて。P...

វត្ថុ TextWrapper

ប្រសិនបើអ្នកនឹងរុំ() ឬបំពេញ() ច្រើនដងជាមួយនឹងការកំណត់រចនាសម្ព័ន្ធថេរ វាមានប្រសិទ្ធភាពក្នុងការបង្កើតវត្ថុ TextWrapper ។

wrapper = textwrap.TextWrapper(width=30, max_lines=3, placeholder=' ~', initial_indent='  ')

s = "Python can be easy to pick up whether you're a first time programmer or you're experienced with other languages"

print(wrapper.wrap(s))
# ['  Python can be easy to pick', "up whether you're a first time", "programmer or you're ~"]

print(wrapper.fill(s))
#   Python can be easy to pick
# up whether you're a first time
# programmer or you're ~

ការកំណត់ដូចគ្នាអាចប្រើឡើងវិញបាន។

Copied title and URL