ដើម្បីធ្វើទ្រង់ទ្រាយខ្សែអក្សរនៅក្នុង Python ដោយរុំ (ការបំបែកបន្ទាត់) និងកាត់ឱ្យខ្លី (អក្សរកាត់) វាតាមចំនួនតួអក្សរដែលបំពាន សូមប្រើម៉ូឌុលសរសេរអត្ថបទនៃបណ្ណាល័យស្តង់ដារ។
ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។
- រុំខ្សែអក្សរ:
wrap()
,fill()
- កាត់ខ្សែអក្សរ (បានលុបចោល):
shorten()
- វត្ថុ TextWrapper
ប្រសិនបើអ្នកចង់សរសេរខ្សែអក្សរវែងនៅលើបន្ទាត់ច្រើននៅក្នុងកូដជំនួសឱ្យលទ្ធផល សូមមើលអត្ថបទខាងក្រោម។
- អត្ថបទដែលទាក់ទង:ការសរសេរអក្សរវែងនៅលើបន្ទាត់ជាច្រើននៅក្នុង Python
រុំខ្សែអក្សរ: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 ~
ការកំណត់ដូចគ្នាអាចប្រើឡើងវិញបាន។