[英]Python can't read log file correctly unless I paste its content in a new text file
[英]Creating a new text file with python is not happening unless i press ENTER in shell window
python的新手,正在研究从文本文件中获取句子,检查其拼写并将结果返回到新文本文件的脚本。 运行脚本时,除非在外壳窗口中按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('\n','')
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('\n','')
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
,可能会无意间(或有意地)覆盖其他文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.