Найти - Пользователи
Полная версия: Обмен названиями папок
Начало » Python для новичков » Обмен названиями папок
1
vl
Короче, я хочу чтоб две папки обменялись названиями без посредника(без н-ной папки).:
 a=('C://Users/User/Desktop/Вверх')
b=('C://Users/User/Desktop/Низ')
import os
ee33=os.rename(c,a)
c1=os.rename(b,a)
c2=os.rename(a,b)
c1.c2 

Смотрю на свой скрипт и мне стыдно.
Ах да я попробовал другие варианты с созданием папки-посредника и вариант на основе кортежа, но во всех случаях пишет

 FileExistsError: [WinError 183] Невозможно создать файл, так как он уже существует: 'C://Users/User/Desktop/Низ' -> 'C://Users/User/Desktop/Вверх'
FishHook
   
a='C://Users/User/Desktop/Вверх'
b='C://Users/User/Desktop/Низ'
os.rename(a, 'C://Users/User/Desktop/Temp')
os.rename(b, 'C://Users/User/Desktop/Вверх')
os.rename('C://Users/User/Desktop/Temp', 'C://Users/User/Desktop/Низ')
PEHDOM
без “посредника” не выйдет. a, b = b, a возможны изза особенностей работы пайтона с обьектами в памяти. ФС не позволяет такого. Вернее оно то наверняка и возможно, если работать непосредственно с таблицей файлов , а вот так, через os.rename точно не выйдет.
+ с путями у вас не все в порядке, ХЗ может оно и скушает такие пути, но лучше нормализовать их с помощью os.path.normpath или сразу вводить адекватные пути для вашей ОС.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB