Python - 用奇怪的输出打印到文件

时间:2017-05-25 16:59:02

标签: python output nonetype

所以几个星期前我开始学习python,我想创建一个程序来读取文本文件,并根据文本文件的内容(我的例子只是数字),它输出一些不同的文件。< / p>

这是我的代码:

import tkinter as tk
import time
from tkinter import filedialog

root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename()
new_doc = []
with open(file_path, encoding='utf-8') as f:
    file=f.read()
for line in file:
    for x in line:
        if x == '0':
            new_doc.append(print ('3', end=' '))
        elif x == '1':
            new_doc.append(print ('6', end=' '))
        elif x == '2':
            new_doc.append(print ('9', end=' '))
        elif x == '3':
            new_doc.append(print ('12', end=' '))
        elif x == '3':
            new_doc.append(print ('15', end=' '))
        elif x == '4':
            new_doc.append(print ('18', end=' '))
        elif x == '5':
            new_doc.append(print ('21', end=' '))
        elif x == '6':
            new_doc.append(print ('24', end=' '))
        elif x == '7':
            new_doc.append(print ('27', end=' '))
        elif x == '8':
            new_doc.append(print('30', end=' '))
        elif x == '9':
            new_doc.append(print ('33', end=' '))
        elif x == ' ':
            new_doc.append(print ('', end=''))
        else:
            print ('9 9 9 9 9')
save = filedialog.asksaveasfile(mode='w', defaultextension=".txt")
if save is None:
    print('ERROR!')
    sys.exit()
str1 = ''.join(str(e) for e in new_doc)
save.write(str1)
save.close()

在命令行中,脚本可以工作,例如123,输出6 9 12。但是,当我告诉他写入文件时,它只会写None,如果我告诉他在数字之间打印一个空格,它也会输出None

我的输出文件基本上都是None。

1 个答案:

答案 0 :(得分:0)

  

因为print()返回None。请尝试new_doc.append(&#34; 3&#34;)。 - 休   博思韦尔

将此留给任何同样问题的人