Python 从批处理文件启动时,脚本不会将希腊字符写入文本文件
Python script doesn't write Greek characters to text file when started from batch file
我有一个 运行 是 Python 脚本的批处理文件。 Python 脚本将文本写入文本文件。
现在,这通常工作正常,即使是重音字母,如 à 或 ö,但在应该写希腊语或希伯来语字符时却不行。然后就什么都不写了。
如果我 运行 来自 IDLE 的 Python 脚本,任何类型的文本都会写入文件并且 Shell window.
这是我的测试代码:
Python:
# -*- coding: utf-8 -*-
import codecs
akasi='test' + unicode('aergשריש','utf-8')
print akasi
text_file = codecs.open('Temp.txt', 'a', encoding='utf-8')
text_file.write(akasi)
text_file.close()
批处理文件
@Echo Off
cd /D C:
start /min /wait python "C:\Python27\Scripts\Temp03_27_310.py"
我做错了什么?
提前致谢,
安吉拉
您做的工作太多了 -- 没有必要对您的数据进行编码,因为它已经按照您的第一个评论行中指定的 UTF-8 编码。
# -*- coding: utf-8 -*-
import codecs
akasi='test aergשריש'
print akasi
with open('temp.txt', 'wb') as fh:
fh.write(akasi)
我有一个 运行 是 Python 脚本的批处理文件。 Python 脚本将文本写入文本文件。
现在,这通常工作正常,即使是重音字母,如 à 或 ö,但在应该写希腊语或希伯来语字符时却不行。然后就什么都不写了。
如果我 运行 来自 IDLE 的 Python 脚本,任何类型的文本都会写入文件并且 Shell window.
这是我的测试代码: Python:
# -*- coding: utf-8 -*-
import codecs
akasi='test' + unicode('aergשריש','utf-8')
print akasi
text_file = codecs.open('Temp.txt', 'a', encoding='utf-8')
text_file.write(akasi)
text_file.close()
批处理文件
@Echo Off
cd /D C:
start /min /wait python "C:\Python27\Scripts\Temp03_27_310.py"
我做错了什么?
提前致谢, 安吉拉
您做的工作太多了 -- 没有必要对您的数据进行编码,因为它已经按照您的第一个评论行中指定的 UTF-8 编码。
# -*- coding: utf-8 -*-
import codecs
akasi='test aergשריש'
print akasi
with open('temp.txt', 'wb') as fh:
fh.write(akasi)