Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何启动';不保存';命令与Python中的os.system(';taskkill';)一起使用_Python_Excel_Prompt_Taskkill - Fatal编程技术网

如何启动';不保存';命令与Python中的os.system(';taskkill';)一起使用

如何启动';不保存';命令与Python中的os.system(';taskkill';)一起使用,python,excel,prompt,taskkill,Python,Excel,Prompt,Taskkill,我正在处理的项目将创建一个.CSV文件,供用户在需要时查看 如果我的脚本试图在用户在excel中打开.CSV文件时打开该文件,我的脚本将启动os.system(“taskkill/im excel.EXE”)。 这将关闭Excel程序,以便我的脚本可以写入文件,因为日志记录比打开的文件更重要 我的问题和我需要帮助的地方是: 如果用户在打开excel文件时更改了该文件中的任何内容,则在发送taskkill命令时,excel会提示“是否保存?”。 因此,我的脚本不断地启动taskill命令,直到Ex

我正在处理的项目将创建一个.CSV文件,供用户在需要时查看

如果我的脚本试图在用户在excel中打开.CSV文件时打开该文件,我的脚本将启动
os.system(“taskkill/im excel.EXE”)
。 这将关闭Excel程序,以便我的脚本可以写入文件,因为日志记录比打开的文件更重要

我的问题和我需要帮助的地方是: 如果用户在打开excel文件时更改了该文件中的任何内容,则在发送
taskkill
命令时,excel会提示“是否保存?”。 因此,我的脚本不断地启动
taskill
命令,直到Excel或我的脚本崩溃

问题:

1.当出现此提示时,如何让脚本知道

2.如果出现此提示,如何使用python脚本告诉Excel“否不保存”

这就是我所指的功能:

def unlockDoor(x, y):
    userDictionary = shelve.open(UserDict)
    print('Welcome,',userDictionary[x])
    print('Door Unlocked')
    while True:
        try:
            with open(EntryLog, "a") as log:
                log.write("{0},{1},{2},{3}\n".format(time.strftime("%Y-%m-%d %H:%M:%S"), x, userDictionary[x],y))
                userDictionary.close()
                break
        except:
            os.system("taskkill /im EXCEL.EXE")

我相信我已经弄明白了。 将/F添加到命令中,如下所示:
os.system(“taskkill/F/im EXCEL.EXE”)
:似乎会关闭应用程序,而不管它是否已被修改


如果有人知道这个/F是什么意思,请告诉我。

你真的做得不对

首先,如前所述,您可以使用
/f
标志强制终止进程。这将防止它弹出任何“保存”或“确定吗?”对话框或其他任何对话框,然后杀死它

但实际上,您不应该使用
taskkill
(尤其不应该通过
os.system
而不是
subprocess
)而不仅仅是在Python中进行。在某些情况下,使用外部工具是有意义的,例如,如果您是一个使用
taskkill
但对
os
模块或第三方
psutil
模块一无所知的向导。但这里的情况显然不是这样,否则您可能知道
/f
,或者至少知道如何搜索它

同时,如果希望与ExcelGUI交互,则需要使用GUI自动化库(如)


或者,更好的是,通过COM使用Excel实现自动化
pywin32
附带了很好的文档,包括用于驱动Excel的示例。

是的,我对这整件事非常陌生(上周开始学习python)。感谢您提供的资源建议。我会调查这些。