Category:Python: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
(Replaced content with "Category:Hacking")
Tag: Replaced
 
Line 1: Line 1:
[[Category:Hacking]]
[[Category:Hacking]]
= buffering =
Fix CLI buffering in Python with:
<pre>
$ python -u foo.py | tee mylog.log
</pre>
"-u" means unbuffered, or something
= Decorators =
<syntaxhighlight lang="python" line>
def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("Something is happening before the function is called.")
        func(*args, **kwargs)
        print("Something is happening after the function is called.")
    return wrapper
@my_decorator
def say_hello():
    print("Hello!")
say_hello()
</syntaxhighlight>
= Virtual Environments =
<syntaxhighlight lang="bash">
# Check Python version
python3 --version
# Check pip version
pip3 --version
# Install virtualenv
pip3 install virtualenv
# Install venv
sudo apt install python3-venv
# Navigate to your project directory
cd ~/my_project/
# Create virtual environment
python3 -m venv myenv
# Activate virtual environment
source myenv/bin/activate
# Now you can install packages
pip install <your-package>
# Deactivate when you're done
deactivate
</syntaxhighlight>
= What Libs Have I? =
<pre>
$ pip freeze --local
blinker==1.6.2
click==8.1.7
flask==2.3.3
importlib-metadata==6.8.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
werkzeug==2.3.7
zipp==3.16.2
</pre>
= Package Info =
* https://pypi.org/project/package-name/
** eg: https://pypi.org/project/itsdangerous/
= Datetime and Timestamp =
<syntaxhighlight lang="python" line>
from datetime import datetime, timezone
import pytz
print("When including time, use one of the following:")
ts = 0
good_dt = pytz.utc.localize(datetime.utcfromtimestamp(ts))
print(f'pytz.utc.localize(datetime.utcfromtimestamp(ts)) = {good_dt}')
ts = 0
good_dt = datetime.fromtimestamp(ts, timezone.utc)
print(f'datetime.fromtimestamp(ts, timezone.utc) = {good_dt}')
dt_with_tz = good_dt
good_ts = int(dt_with_tz.timestamp())
print(f'int(dt_with_tz.timestamp()) = {good_ts}')
now_dt = pytz.utc.localize(datetime.utcnow())
now_ts = int(now_dt.timestamp())
renow_dt = datetime.fromtimestamp(now_ts, timezone.utc)
print()
print(f'now_dt = pytz.utc.localize(datetime.utcnow()) = {now_dt}')
print(f'now_ts = int(now_dt.timestamp()) = {now_ts}')
print(f'now_dt = datetime.fromtimestamp(now_ts, timezone.utc) = {renow_dt}')
now_ts = int(pytz.utc.localize(datetime.utcnow()).timestamp())
print(f'now_ts = int(pytz.utc.localize(datetime.utcnow()).timestamp()) = {now_ts}')
import time
print(f'now_ts = int(time.time()) = {int(time.time())}')
</syntaxhighlight>
= Subclass =
<syntaxhighlight lang="python" line>
# Parent class
class Vehicle:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model
    def display(self):
        print(f"This is a {self.brand} {self.model}.")
# Child class
class Car(Vehicle):
    def __init__(self, brand, model, doors):
        super().__init__(brand, model)  # Call the __init__ of the parent class
        self.doors = doors
    # Overriding the display method of the parent class
    def display(self):
        super().display()  # Call the display method of the parent class
        print(f"It has {self.doors} doors.")
# Testing the classes
vehicle = Vehicle("Toyota", "Camry")
vehicle.display()
car = Car("Honda", "Civic", 4)
car.display()
</syntaxhighlight>

Latest revision as of 16:28, 10 November 2023

Pages in category "Python"

The following 7 pages are in this category, out of 7 total.