[英]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.