Deฤiลkenin objelerini ve deฤerlerini รถฤrenmek iรงin debug รงok faydalฤฑdฤฑr ๐
Debug modunda alt deฤiลkenlere bakฤฑp
Kod iรงerisinde kullanabilirsin
๐ฉ Baฤฤฑmlฤฑlฤฑklarฤฑ ve PythonPath'i Ayarlama
Bu modรผlรผ ana projenizin baลฤฑnda import ederek pythonpath ayarlanmasฤฑnฤฑ otomatize edebilirisiniz.
import os.path as osp
import sys
def add_path(path):
if path not in sys.path:
sys.path.insert(0, path)
this_dir = osp.dirname(__file__)
# Add lib to PYTHONPATH
PATH = "lib" # Bu kฤฑsma oath'e alฤฑnacak dizinleri yazฤฑn
lib_path = osp.join(this_dir, PATH)
root_path = osp.join(this_dir)
add_path(lib_path)
add_path(root_path)
๐ Medyan Alma
// super slow
[a, b, c].sort()[1]
// fast
let max = Math.max(Math.max(a,b),c),
min = Math.min(Math.min(a,b),c),
// the max and the min value cancel out because of the xor, the median remains
median = a^b^c^max^min;
from pynput import keyboard
import atexit
from time import time as get_time
from datetime import datetime
LOG_FILE = "keyLog.txt"
DELIM = "|"
TIME_LIMIT = 20 * 60
start_time = get_time()s
pressedKeys = []
def calculate_time():
global start_time
return get_time() - start_time
# calculate neden 0 veriyor ๐ค
def save_to_file(passing_time = calculate_time()):
global pressedKeys
if passing_time is None:
passing_time = calculate_time() # 0' vermiyor
with open(LOG_FILE, "a+", encoding="utf-8") as file:
lines = []
lines.append(f"\n\n\n\n")
lines.append(f"Tarih (Yฤฑl-Ay-Gรผn Saat-Dakika-Saniye.): {datetime.now()}")
lines.append(f"Geรงen sรผre (s): {passing_time}")
lines.append(f"Basฤฑlan karakter: {len(pressedKeys)}")
lines.append(f"Saniye baลฤฑ tuล basฤฑmฤฑ (key/s): {len(pressedKeys) / passing_time}")
lines.append(f"\n")
lines.append("|".join(pressedKeys))
file.write("\n".join(lines))
# Kapanma anฤฑnda รงalฤฑลacak metod
atexit.register(save_to_file)
# END ile iลlemi sonlandฤฑrma
def on_press(key):
global pressedKeys
char = None
try:
char = key.char
except AttributeError:
char = str(key)
pressedKeys.append(char)
time = calculate_time()
if time > TIME_LIMIT:
save_to_file(time)
def on_release(key):
print("")
if key == keyboard.Key.end:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
๐ซ Koลullu ฤฐรง ฤฐรงe For Dรถngรผsรผ
Alttaki yapฤฑ yerine, bir sonraki yapฤฑyฤฑ kullanarak daha verimli ve anlaลฤฑlฤฑr kod yazabilrisin ๐
Dรถngรผde fazladan kontrolรผ engelleriz
Her seferin tรผm deฤiลkenlere bakmak yerine, ihtiyacฤฑmฤฑz olanlara bakarฤฑz
KOSUL1 = 1
KOSUL2 = 1
KOSUL3 = 0
if KOSUL1 != 0 and "kosul1" in line:
# yapฤฑlacaklar
pass
elif KOSUL2 != 0 and "kosul2" in line:
# yapฤฑlacaklar
pass
elif KOSUL3 != 0 and "kosul3" in line:
# yapฤฑlacaklar
pass
conditions = []
conditions.add(('kosul1:', KOSUL1)) if KOSUL1 != 0
conditions.add(('kosul2:', KOSUL2)) if KOSUL2 != 0
patteconditionsrns.add(('kosul3:', KOSUL3)) if KOSUL3 != 0
for condition in conditions:
if condition[0] in line:
# Yapฤฑlacak iลlemler
break