作者:虚伪小仔 | 来源:互联网 | 2023-09-24 16:27
篇首语:本文由编程笔记#小编为大家整理,主要介绍了除非我在shell窗口中按ENTER键,否则不会使用python创建新的文本文件相关的知识,希望对你有一定的参考价值。
篇首语:本文由编程笔记#小编为大家整理,主要介绍了除非我在shell窗口中按ENTER键,否则不会使用python创建新的文本文件相关的知识,希望对你有一定的参考价值。
我是python的新手,正在编写一个从文本文件中取一个句子的脚本,检查它的拼写并将结果返回到一个新的文本文件。当我运行脚本时,shell窗口打开,新的文本文件没有创建,除非我在shell窗口中按ENTER键。我想直接发生创作而不按ENTER。我该如何解决?谢谢。
import sys
import nltk
import enchant
import os
from pathlib import Path
my_file=Path('C:/Users/HP/Documents/result.txt')
if my_file.is_file():
os.remove("C:/Users/HP/Documents/result.txt")
save_path='C:/Users/HP/Documents'
name_of_file=input("result.txt")
completeName=os.path.join(save_path,name_of_file+"result.txt")
file1=open(completeName,"w")
with open ("C:/Users/HP/Documents/test.txt") as myfile:
data=myfile.read().replace('
','')
from enchant.checker import SpellChecker
chkr=SpellChecker("fr")
chkr.set_text(data)
for err in chkr:
var=("ERROR:",err.word)
file1.write(str(var))
file1.close()
else:
save_path='C:/Users/HP/Documents'
name_of_file=input("result.txt")
completeName=os.path.join(save_path,name_of_file+"result.txt")
file1=open(completeName,"w")
with open ("C:/Users/HP/Documents/test.txt") as myfile:
data=myfile.read().replace('
','')
from enchant.checker import SpellChecker
chkr=SpellChecker("fr")
chkr.set_text(data)
for err in chkr:
var=("ERROR:",err.word)
file1.write(str(var))
file1.close()
答案
尝试删除input
:
name_of_file="result.txt"
如果您希望用户从键盘输入字符串,则需要input
。因此,您的程序等待按下ENTER键。
另一答案
删除对input()
的调用,该调用要求用户按Enter键以终止输入(如果有)。
name_of_file=input("result.txt")
如果用户只按Enter键,则name_of_file
将为空字符串。但是,由于此用户输入用于构造可写文件的路径,因此您应该小心此条目,因为用户可以键入意外的内容,例如../
,结果输出文件将是C:/Users/HP/Documents/../result.txt
,可能无意中(或可能是故意)覆盖不同的文件。