Пример связанного списка дважды (сохранить как linkedlist.py):
class node:
def __init__(self, before=None, cargo=None, next=None):
self._previous = before
self._cargo = cargo
self._next = next
def __str__(self):
return str(self._cargo) or None
class linkedList:
def __init__(self):
self._head = None
self._length = 0
def add(self, cargo):
n = node(None, cargo, self._head)
if self._head:
self._head._previous = n
self._head = n
self._length += 1
def search(self,cargo):
node = self._head
while (node and node._cargo != cargo):
node = node._next
return node
def delete(self,cargo):
node = self.search(cargo)
if node:
prev = node._previous
nx = node._next
if prev:
prev._next = node._next
else:
self._head = nx
nx._previous = None
if nx:
nx._previous = prev
else:
prev._next = None
self._length -= 1
def __str__(self):
print 'Size of linked list: ',self._length
node = self._head
while node:
print node
node = node._next
Тестирование (сохранить как test.py):
from linkedlist import node, linkedList
def test():
print 'Testing Linked List'
l = linkedList()
l.add(10)
l.add(20)
l.add(30)
l.add(40)
l.add(50)
l.add(60)
print 'Linked List after insert nodes:'
l.__str__()
print 'Search some value, 30:'
node = l.search(30)
print node
print 'Delete some value, 30:'
node = l.delete(30)
l.__str__()
print 'Delete first element, 60:'
node = l.delete(60)
l.__str__()
print 'Delete last element, 10:'
node = l.delete(10)
l.__str__()
if __name__ == "__main__":
test()
Выход:
Testing Linked List
Linked List after insert nodes:
Size of linked list: 6
60
50
40
30
20
10
Search some value, 30:
30
Delete some value, 30:
Size of linked list: 5
60
50
40
20
10
Delete first element, 60:
Size of linked list: 4
50
40
20
10
Delete last element, 10:
Size of linked list: 3
50
40
20
RMDIR или RD, если Вы используете классическую Командную строку (cmd.exe):
rd /s /q "path"
при использовании PowerShell можно использовать Remove-Item
(который искажается к del
, erase
, rd
, ri
, rm
и rmdir
), и берет -Recurse
аргумент, который может быть закорочен к [1 110]
rd -r "path"
Существует также deltree, если Вы находитесь на более старой версии окон.
мне действительно нравится этот сайт за нахождение команд: SS64: Del - Удаляют Файлы
Можно установить GnuWin32 и использовать *, отклоняют команды исходно на окнах. Я устанавливаю это, прежде чем я установлю что-либо еще на мятной новой копии окон.:)
Попробуйте эту команду:
del /s foldername
Можно установить cygwin, который имеет rm
, а также ls
и т.д.
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S
Удаляет все каталоги и файлы в указанном каталоге в дополнение к самому каталогу. Используемый для удаления дерева каталогов.
/Q
режим Quiet, не спрашивайте, удалить ли хорошо дерево каталогов с /S
администратор:
takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder
Работы для чего-либо включая sys файлы
РЕДАКТИРОВАНИЕ: Я на самом деле нашел лучший способ, который также решает путь к файлу слишком длинная проблема также:
mkdir \empty
robocopy /mir \empty folder