Причина этого в том, что переменная status
является объектом типа
. Это можно увидеть, выполнив следующее:
import requests
requestt = requests.get("https://www.google.com")
status = (requestt)
print(type(status))
Чтобы получить статус, вам нужно получить доступ к свойству status_code
объекта запроса:
import requests
requestt = requests.get('https://www.google.com')
status = requestt.status_code
print(type(status)) # will now return ""
print(status == 200) # will print "True"
Документация для свойство status_code
указано в в документации для библиотеки запросов .
Если имена файлов не будут иметь пробелов, то это будет работать:
ls -C1 -t| awk 'NR>5'|xargs rm
, Если имена файлов действительно имеют пробелы, что-то как
ls -C1 -t | awk 'NR>5' | sed -e "s/^/rm '/" -e "s/$/'/" | sh
Основная логика:
Все эти ответы перестали работать, когда существуют каталоги в текущем каталоге. Вот что-то, что работает:
find . -maxdepth 1 -type f | xargs -x ls -t | awk 'NR>5' | xargs -L1 rm
Это:
работы, когда существуют каталоги в текущем каталоге
попытки удалить каждый файл, даже если предыдущий не мог бы быть удален (из-за полномочий, и т.д.)
сбои, безопасные, когда количество файлов в текущем каталоге является чрезмерным и xargs
, обычно завинчивали бы Вас по (-x
)
, не обслуживает пробелы в именах файлов (возможно, Вы используете неправильную ОС?)
find . -maxdepth 1 -type f -printf '%T@ %p\0' | sort -r -z -n | awk 'BEGIN { RS="\0"; ORS="\0"; FS="" } NR > 5 { sub("^[0-9]*(.[0-9]*)? ", ""); print }' | xargs -0 rm -f
Требует, чтобы GNU нашли для-printf и вида GNU для-z, и GNU awk для "\0" и GNU xargs для-0, но обрабатывает файлы со встроенными новыми строками или пробелами.
Удалите все кроме 5 (или безотносительно числа) новых файлов в каталоге.
rm `ls -t | awk 'NR>5'`
(ls -t|head -n 5;ls)|sort|uniq -u|xargs rm
Это поддержка версии называет с пробелами:
(ls -t|head -n 5;ls)|sort|uniq -u|sed -e 's,.*,"&",g'|xargs rm
Игнорирование новой строки означает игнорирование безопасности и хорошего кодирования. wnoise имел единственный хороший ответ. Вот его вариант, в котором имена файлов помещаются в массив $ x
while IFS= read -rd ''; do
x+=("${REPLY#* }");
done < <(find . -maxdepth 1 -printf '%T@ %p\0' | sort -r -z -n )