:どういうわけかクローズファイルのpython
for proc in psutil.process_iter():
if proc.name() == 'myprocess.exe':
opened = proc.open_files()
proc.kill()
for i in opened:
print(i.path)
io.FileIO(i.path).close()
print(io.FileIO(i.path).closed)
:私のpythonを使用して、実行中のプロセスを強制終了し、それが開かれたすべてのファイルを閉じたいwin7の/ win10
:3.4
OS io.IOBase(i.path).close()
は機能しません。
説明:
私のpythonでMicrosoft Wordを殺すしたいようなものだが、それは開いているいくつかのファイルを残します。そして私はこれらのファイルも閉じたいと思います。
Microsoft Wordは例です。これは、自己記述されたPythonのprogrammです。開いたファイルは、以下のとおりです。
- フォント(.TTF)
- clr.pyd
- と.dll-S
がどのように私はこれらのファイルを閉じる必要がありますか?
私はあなたの質問に答えを投稿しましたが、別の問題を解決しようとしていると思います。代わりにその問題を説明できると便利です。 – jszakmeister
私は自動更新プログラムを作成したいと思います:プロセスを強制終了すると、すべてのファイルが削除され、新しいファイルが同じ順序でコピーされます。開かれたファイルがいくつかある場合は、それらを修復できません。 – picibucor
一般的に、それは本当に難しい問題です。特に、Wordのようなものでは、ユーザーが積極的に有用なことを行っている可能性があります。データの一部しか書き出されていないため、作業を失ったり、面白い方法でファイルを破損させたりする可能性があります。そのようなものをうまく動作させるには、はるかに優れた戦略が必要です。それはStackOverflowの質問IMHOを超えています。 – jszakmeister