, 27 2022 . 15:17
+
, 3.10. , AttributeError: module 'collections' has no attribute 'MutableMapping'.
: 3.9 + 3.2 3.10 + 4.0.
<a href="https://www.liveinternet.ru/users/linux_loader/post428127764/">Программа</a><br/>
Вот такое понаписал. Добавить нечего, кроме Qt-морды. Но это потом, когда комп будет.
#-*-coding:utf8;-*-
# ver. 2.31
# Программа рассчитывает скорость или время свободного падения из пользовательского ввода. Автоматически корректирует введенные данные. Например убирает лишние точки, заменяет запятые точками. Если ввод содержит некорректные символы (буквы и пунктуацию), выдаёт ошибку и предлагает повторить ввод.
# Как и все мои программы работает ТОЛЬКО в оффлайне, потому что содержит символы кириллицей.
import math
def finput ():
g = 9.... <a href="https://www.liveinternet.ru/users/linux_loader/post428127764/">Читать далее...</a>
, 08 2018 . 01:50
+
. , Qt-. , .
#-*-coding:utf8;-*-
# ver. 2.31
# . . , . ( ), .
# , .
import math
def finput ():
g = 9.8
a = input (" \n Enter, \n : \n> " )
a = zap2point(a)
if len (a) > 0:
h = number_test(a)
if h == "error" :
finput ()
else :
h = float (h)
u = math.sqrt(2*g*h)
t = u / g
u2 = u * 3.6
print (" : \n{} / \n{} / \n{} {} ." .format (fr(u), fr(u2), fr(h), fr(t)))
else :
a = input (" : \n> " )
a = zap2point(a)
t = number_test(a)
if t == "error" :
finput ()
else :
t = float (t)
u = g * t
h = (u * t) / 2
u2 = u * 3.6
print (" : \n{} / \n{} / \n{} {} ." .format (fr(u), fr(u2), fr(h), fr(t)))
def number_test (a):
b = ""
# 1
# .
if a.count ("." ) > 1:
pindex = a.index("." )
else :
pindex = len (a) + 2
if len (a) == 0:
b = "error"
return b
else :
#
# ,
#
# ,
# -
#
for char in a:
if char in ("1234567890." ):
if char == "." and len (b) > pindex:
continue
b += char
else :
print ("***********************\n! \n , \n 34 45.6\n***********************" )
b = "error"
break
if b == "." :
print ("***********************\n! \n , \n 34 45.6\n***********************" )
b = "error"
return b
#
# ,
# 3.2999999999 3.3,
# ,
# .
def fr (x):
if x >= 10000:
x = int (math.modf(x)[1])
elif x >= 999:
x = "{:.5}" .format(x)
elif x <= 0.0001:
x = "{:.10}" .format(x)
elif x >= 99.9:
x = "{:.4}" .format(x)
else :
x = "{:.3}" .format(x)
return x
#
# ,
#
#
#
def zap2point (h):
y = ""
for char in h:
if char == "," :
char = "."
elif char == " " :
continue
y += char
return y
# ,
finput()
<a href="https://www.liveinternet.ru/users/linux_loader/post427895146/">Без заголовка</a><br/>
Я тут решил встряхнуть стариной и занялся питоноводством. Вроде бы никогда серьезно прямо не занимался программированием. Но вроде и база есть. HTML, CSS, чуток JavaScript, а ещё в училище Basic 2.0, а ещё азы Pascal, PHP и конечно же почти 10 лет bash на уровне юзера.
Написал даже одну консольную программу. Не ахти полезную, но умную. Точнее программ несколько, но одну самую мудрую. Считает скорость и время свободного падения тела, если задана высота, или высоту и скорость, если задано время падения. Умеет анализировать пользовательский ввод, удалять лишние точки, если юзерь пост... <a href="https://www.liveinternet.ru/users/linux_loader/post427895146/">Читать далее...</a>
, 03 2018 . 23:46
+
. . . HTML, CSS, JavaScript, Basic 2.0, Pascal, PHP 10 bash .
. , . , . , , , . , , . .
. . . .
<a href="https://www.liveinternet.ru/users/linux_loader/post123121537/">Мой скрипт для подсчёта контрольных сумм md5 (v0.20)</a><br/>Составил вторую версию скрипта для подсчёта md5 из Nautilus. Ложится он опять же в каталог ~/.gnome2/nautilus-scripts/ . При выделении файла, например file.txt создаётся file.txt.md5 с хэшем. При выделении нескольких файлов создаётся md5sum.md5 и вывод пишется в него. При выделении каталога, например my_catalog, создаётся my_catalog.md5 и в него вписываются контрольные суммы всех файлов из my_catalog. При выделении нескольких файлов+каталогов создаёт md5sum.md5 и в него вписывает проверочные суммы файлов и содержимого выделенных каталогов. Типа того. С пробелами в именах/путях вроде бы работае... <a href="https://www.liveinternet.ru/users/linux_loader/post123121537/">Читать далее...</a>
, 20 2010 . 01:51
+
md5 Nautilus.
~/.gnome2/nautilus-scripts/ . ,
file.txt file.txt.md5 .
md5sum.md5 . ,
my_catalog ,
my_catalog.md5 my_catalog . +
md5sum.md5 . . / . , ))). , , , ))). , ,
md5sum.md5.error ,
.
, , , .
#!/bin/bash
# 0.20 (, 21 2010)
# wahnbild@yandex.ru
# GNU GPL v2
# http://www.gnu.org/licenses/gpl-2.0.txt
if [ $# -eq 0 ]
then
echo " " >> md5sum.md5.error
exit 0;
fi
if [ $# -eq 1 ]
then
if [ -d "$1" ]
then
md5sum "$1"/* >> "$1".md5
else
md5sum "$1" >> "$1".md5
fi
else
until [ -z "$1" ]
do
if [ -d "$1" ]
then
md5sum "$1"/* >> md5sum.md5
else
md5sum "$1" >> md5sum.md5
fi
shift
done
fi
exit 0;
. ( ) . ... , . , . md5 , ))). , , - ...
<a href="https://www.liveinternet.ru/users/linux_loader/post121781909/">Мой скрипт для жёстких ссылок версия 0.21</a><br/>Версия 0.20 оказалась с проблемкой, потому не позорюсь и не выкладываю. Он не работал с файлами, в имени/пути которых есть пробел или какой-либо ещё хитрый символ наподобие кавычек))). Да, и теперь я ему название придумал: scriptus-idiotus
:grin: . Хотя, если честно, удобная вещь))).
Итак, scriptus-idiotus 0.21:
#!/bin/bash
# scriptus-idiotus 0.21
# Скрипт создания жёстких ссылок (Суббота, 13 Февраль 2010).
# © Линник Сергей wahnbild@yandex.ru
# Лицензия GNU GPL v2
# http://www.gnu.org/licenses/gpl-2.0.txt
#
# Script using instructions http://www.liveinternet.ru/users/linux_... <a href="https://www.liveinternet.ru/users/linux_loader/post121781909/">Читать далее...</a>
, 28 2010 . 17:18
+
0.20 , . , / - ))). , : scriptus-idiotus
. , , ))).
, scriptus-idiotus 0.21:
#!/bin/bash
# scriptus-idiotus 0.21
# (, 13 2010).
# wahnbild@yandex.ru
# GNU GPL v2
# http://www.gnu.org/licenses/gpl-2.0.txt
#
# Script using instructions http://www.liveinternet.ru/users/linux_loader/post119297532/
# http://www.liveinternet.ru/users/linux_loader/post119297532/
until [ -z "$1" ] # ...
do
numb=0;
while [ $numb -lt 1000 ];
do
numb=$(( $numb + 1 ));
filename="$1($numb)";
if [ ! -e "$filename" ]
then
cp -rl "$1" "$filename"
numb=1001;
fi
done
shift
done
http://www.liveinternet.ru/users/linux_loader/post119297532/ . changelog.
1. , .
2. , , :
file-name --> file-name(1)
, file-name(1), file-name(2), file-name(3), file-name(4)... - 1000. ( , - , , ?).
:D.
: . kino.avi kino.avi(1) . , , FAT NTFS :). . 0.22 : file-name --> file-name . , , ... - ...
. :).
<a href="https://www.liveinternet.ru/users/linux_loader/post119297532/">Жёсткие ссылки, продолжение</a><br/>Итак, я пошёл дальше и упростил создание жёстких ссылок. Пока можно создавать моим способом только на один файл, ибо с программированием я пока что не сильно дружу... На что гаразд, то и сваял))). Как создавать жёсткие ссылки в Наутилусе.
В каталоге ~/.gnome2/nautilus-scripts/ создаём исполняемый текстовый файл. То бишь, в правах доступа к файлу должно быть разрешено выполнение. Это ясно. Я на всякий случай сказал. В сам файл пишем следующее:
#!/bin/bash
sdate=`date +%Y-%m-%d\ %H-%M-%S`;
mkdir "links $sdate";
cp -rl "$*" "links $sdate"/;
Можно назвать скрипт "Создать жёсткую ссылку"... <a href="https://www.liveinternet.ru/users/linux_loader/post119297532/">Читать далее...</a>
, 24 2010 . 18:18
+
, . , ... , ))). .
~/.gnome2/nautilus-scripts/ . , . . . :
#!/bin/bash
sdate=`date +%Y-%m-%d\ %H-%M-%S`;
mkdir "links $sdate";
cp -rl "$*" "links $sdate"/;
" ", . :
, "links
_-- -- " . . , . .
.
. , . , . ))). .
/. , . , , temp . temp , ))).
, . , :
#!/bin/bash
new.sh, ~/ ~/.config/user-dirs.dirs . . , , , .
P.S.
GPL v2 . ,
. 3/