所以几个星期前我开始学习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。
答案 0 :(得分:0)
因为print()返回None。请尝试new_doc.append(&#34; 3&#34;)。 - 休 博思韦尔
将此留给任何同样问题的人