def main():
def read_txt():
input_file = open("input.txt", "r")
global text
text = input_file.readline()
input_file.close()
return text
read_txt()
def write_txt():
output_file.write(text)
output_file.close()
write_txt()
main()
输入的内容.txt只是任意长度的单行字符串。我正在尝试读取输入的内容.txt并将其写入另一个文件输出.txt。但是字符串应该在一个不超过 50 个字符的星号框中,单行字符串应该分成多行。但是来自输入.txt的字符串可以是任意长度。
例如,如果输入的内容.txt是"我真的很喜欢编程,因为它很有趣!"那么输出.txt应该是这样的,
****************************************
* *
* I really love programming *
* becuase it is fun! *
* *
* *
* *
* *
* *
* *
* *
****************************************
所以我真的需要帮助制作盒子。
为此,您可以使用文本换行库。
有了它,您的代码将类似于以下内容:
import textwrap
# your code
def read_txt():
input_file = open("input.txt", "r")
global text
text = input_file.readline()
input_file.close()
padding = 3 # 3 spaces from left and right
max_line_length = 48 - padding * 2 # 48 because 50 - 2*asterisks
lines = textwrap.wrap(text, max_line_length)
wrapped_text = 50 * '*' + 'n'
for line in lines:
wrapped_text += '*{pad}{text:{width}}{pad}*n'.format(text=line, pad=' '*padding, width=max_line_length)
wrapped_text += 50 * '*'
return wrapped_text