1
所以我开始学习python几个星期前,我想做一个程序,读取文本文件,并根据文本文件的内容(我的例子将只是数字)它将某些内容输出到不同的文件。Python - 打印到奇怪的输出文件
下面是代码我有:
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的。
你确认,你必须写文件的权利? – Fletchius
从doc.append() – Kajal
中删除print语句,因为print()返回None。改用'new_doc.append(“3”)'。 –