另一个进程错误使用的文件:Python

时间:2019-12-23 06:41:49

标签: python python-3.x

我正在尝试在某些源文件的帮助下更改目标文件的内容。完成工作后,我将确保已关闭代码中的所有文件(当然,我已确保也未在任何编辑器中将其打开。)

    def write_to_file(self, _source_path, _destination_path):
        f_source = open(_source_path, 'r')
        f_destination = open(_destination_path, 'r')
        f_temp = open(self.temp_path, 'w+')

        while source_line or destination_line:...

        f_temp.close()
        f_destination.close()
        f_source.close()
        shutil.move(self.temp_path, _destination_path)
        return

我遇到以下错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/rohit.tayal/PycharmProjects/AutoNVMerge/MainActivity.py", line 151, in <module>
    script.write_to_file(source_path, destination_path)
  File "C:/Users/rohit.tayal/PycharmProjects/AutoNVMerge/MainActivity.py", line 62, in write_to_file
    shutil.move(self.temp_path, _destination_path)
  File "C:\Anaconda\envs\AutoNVMerge\lib\shutil.py", line 581, in move
    os.unlink(src)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\auto_nv_merge.xml'

C:\ auto_nv_merge.xml 是我的临时文件。

1 个答案:

答案 0 :(得分:1)

使用时

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\auto_nv_merge.xml'

您有2种选择,成为英雄,并尝试找出将文件劫为人质或只是restart您的计算机的过程。

我通常选择后者restart