如何用Python将阿拉伯/库尔德语文本数组写入RTL格式TXT文件?
解决Python写入阿拉伯语/库尔德语(RTL)到TXT文件的排版问题
你的现有代码已经能正确写入UTF-8编码的RTL文本,但TXT文件本身不存储排版方向信息,导致编辑器可能无法正确识别文本方向。可以通过添加Unicode RTL控制字符来强制编辑器以从右到左的格式渲染内容,具体有两种常用方案:
方案1:强制整段文本为RTL方向(适合纯RTL内容)
在文件开头写入\u202E(右至左覆盖字符),后续所有文本都会被编辑器识别为RTL方向:
with open(current_extracted_text_output_path, 'w', encoding='utf-8') as text_file: # 写入RTL强制控制字符 text_file.write('\u202E') for line in extracted_lines: print(line) text_file.write(line + '\n')
方案2:逐行添加RTL标记(适合混合LTR/RTL内容)
在每一行开头添加\u200F(右至左标记),单独标记该行的文本方向:
with open(current_extracted_text_output_path, 'w', encoding='utf-8') as text_file: for line in extracted_lines: # 为每行添加RTL标记 rtl_line = '\u200F' + line print(rtl_line) text_file.write(rtl_line + '\n')
补充说明
- 上述控制字符是Unicode标准的一部分,不会显示为可见字符,仅用于提示编辑器排版方向。
- 确保使用支持RTL渲染的文本编辑器(如VS Code、Notepad++;Windows记事本需手动开启「格式→从右到左阅读顺序」)。
内容的提问来源于stack exchange,提问作者Hama Sabah
相关产品推荐
相关产品推荐

