Я пишу функцию для копирования каждой строки текстового файла в новую, если только строка не является специально обозначенной, и в этом случае она изменит часть этой строки, а затем сохраните строку, как обычно, в новый файл.Python: [WinError 32] issue
Я прошу об этом, потому что я попытался использовать исправления, указанные в this question, но я все еще получаю ту же ошибку.
Чтобы ответить на возможные вопросы:
- У меня есть файл с именем «save.txt», который был переименован в «oldsave.txt» для того, чтобы создать новый файл с именем «save.txt».
- 'rN' - целое число, генерируемое другой функцией.
- Все библиотеки мне нужны были импортированы, прежде чем функция называется
Вот функция:
os.rename(file1,'oldsave.txt')
oldSave = open(file1)
newSave = open('save.txt','a')
count = 1
for line in oldSave:
if count != rN:
newSave.write(line)
else:
chosen_album = []
line = line.strip()
chosen_album.append(line.split('|'))
chosen_album[4] += 1
newSave.write(chosen_album)
count += 1
oldSave.close()
newSave.close()
os.rename('newsave.txt','save.txt')
os.remove('oldsave.txt')
Это ошибка, я получаю, когда я запустить его:
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'oldsave.txt'
Насколько я знаю, проблема заключается в открытии/закрытии/переименовании файлов.
Вы можете включать в себя полный отслеживающий? Я не могу определить, есть ли проблема в начале или конце вашего сценария. – mhlester
Это строки 2-3, как указано в приведенном выше блоке кода. – Frigd