Принятый ответ почти прав, но он может выйти из строя в случае подкаталога, доступного только для чтения.
Функция задается как аргумент обработчика rmtree
onerror
.
Я бы предположил:
import os, shutil, stat
def remove_readonly(fn, path, excinfo):
try:
os.chmod(path, stat.S_IWRITE)
fn(path)
except Exception as exc:
print "Skipped:", path, "because:\n", exc
shutil.rmtree(TEST_OBJECTS_DIR, onerror=remove_readonly)
В случае сбоя функции снова можно увидеть причину и продолжить удаление.
если бы Вы просто хотите часть между http://, и первая наклонная черта
string url = Request.Url.Host;
возвратилась бы, stackoverflow.com, если названо от этой страницы
Попробуйте это:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string host = HttpContext.Current.Request.Url.Host;
// localhost