Categories
Python Answers

How to convert integer to binary in Python?

Sometimes, we want to convert integer to binary in Python.

In this article, we’ll look at how to convert integer to binary in Python.

How to convert integer to binary in Python?

To convert integer to binary in Python, we can use the string’s format method.

For instance, we write:

b = '{0:08b}'.format(6)
print(b)

We use the {0:08b} format placeholder to convert the integer 6 to a binary number with 8 digits in the string.

Therefore, b is '00000110'.

Conclusion

To convert integer to binary in Python, we can use the string’s format method.

Categories
Python Answers

How to remove duplicate characters from a string with Python?

Sometimes, we want to remove duplicate characters from a string with Python.

In this article, we’ll look at how to remove duplicate characters from a string with Python.

How to remove duplicate characters from a string with Python?

To remove duplicate characters from a string with Python, we can use string’s join and the dict.fromkeys methods.

For instance, we write:

foo = "mppmt"
result = "".join(dict.fromkeys(foo))
print(result)

We use dict.fromkeys(foo) to get the characters in the string as keys to remove the duplicate characters and keep the characters in the same order.

Then we call join with the returned dictionary to join the characters together.

Therefore, result is 'mpt'.

Conclusion

To remove duplicate characters from a string with Python, we can use string’s join and the dict.fromkeys methods.

Categories
Python Answers

How to do time zone conversion with Python?

Sometimes, we want to do time zone conversion with Python.

In this article, we’ll look at how to do time zone conversion with Python.

How to do time zone conversion with Python?

To do time zone conversion with Python, we can use the pytz module.

For instance, we write:

from datetime import datetime
from pytz import timezone

fmt = "%Y-%m-%d %H:%M:%S %Z%z"
timezonelist = ['UTC', 'US/Pacific', 'Europe/Berlin']
for zone in timezonelist:
    now_time = datetime.now(timezone(zone))
    print(now_time.strftime(fmt))

We loop through timezonelist to print the current date and time in different time zones.

In the loop, we get the current date and time in the given zone with:

datetime.now(timezone(zone))

Then we call strftime with the fmt format string to return the date and time string from the date time object.

%Y is the year.

%m is the month.

%d is the day.

%H is the hour.

%M is the minute.

And %S is the seconds.

As a result, we get something like:

2021-10-31 20:19:08 UTC+0000
2021-10-31 13:19:08 PDT-0700
2021-10-31 21:19:08 CET+0100

printed.

Conclusion

To do time zone conversion with Python, we can use the pytz module.

Categories
Python Answers

How to display the time in a different time zone with Python?

Sometimes, we want to display the time in a different time zone with Python.

In this article, we’ll look at how to display the time in a different time zone with Python.

How to display the time in a different time zone with Python?

To display the time in a different time zone with Python, we can use the pytz module.

For instance, we write:

from datetime import datetime
from pytz import timezone

south_africa = timezone('Africa/Johannesburg')
sa_time = datetime.now(south_africa)
print(sa_time.strftime('%Y-%m-%d_%H-%M-%S'))

We call timezone with the time zone string to get the time zone object.

Then we call datetime.now with the time zone object to return the current date time in the south_africa time zone.

Finally, we call strftime to return the date time string from the date time object by calling it with a format string.

%Y is the year.

%m is the month.

%d is the day.

%H is the hour.

%M is the minute.

And %S is the seconds.

Therefore, we see something like '2021-10-31_22-15-22' printed.

Conclusion

To display the time in a different time zone with Python, we can use the pytz module.

Categories
Python Answers

How to read the EXIF data for an image in Python?

Sometimes, we want to read the EXIF data for an image in Python.

In this article, we’ll look at how to read the EXIF data for an image in Python.

How to read the EXIF data for an image in Python?

To read the EXIF data for an image in Python, we can use the PIL.ExifTags module.

For instance, we write:

import PIL.ExifTags
import PIL.Image

img = PIL.Image.open('Canon_40D.jpg')
exif_data = img._getexif()

exif = {
    PIL.ExifTags.TAGS[k]: v
    for k, v in img._getexif().items() if k in PIL.ExifTags.TAGS
}
print(exif)

We open the image with:

img = PIL.Image.open('Canon_40D.jpg')

Then we get the EXIF data with:

exif_data = img._getexif()

Next, we get the EXIF tags and values from the EXIF data with:

exif = {
    PIL.ExifTags.TAGS[k]: v
    for k, v in img._getexif().items() if k in PIL.ExifTags.TAGS
}

As a result, we get something like:

{'GPSInfo': {0: b'\x02\x02\x00\x00'}, 'ResolutionUnit': 2, 'ExifOffset': 214, 'Make': 'Canon', 'Model': 'Canon EOS 40D', 'Software': 'GIMP 2.4.5', 'Orientation': 1, 'DateTime': '2008:07:31 10:38:11', 'YCbCrPositioning': 2, 'XResolution': 72.0, 'YResolution': 72.0, 'ExifVersion': b'0221', 'ComponentsConfiguration': b'\x01\x02\x03\x00', 'ShutterSpeedValue': 7.375, 'DateTimeOriginal': '2008:05:30 15:56:01', 'DateTimeDigitized': '2008:05:30 15:56:01', 'ApertureValue': 5.625, 'ExposureBiasValue': 0.0, 'MeteringMode': 5, 'UserComment': b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'Flash': 9, 'FocalLength': 135.0, 'ColorSpace': 1, 'ExifImageWidth': 100, 'ExifInteroperabilityOffset': 948, 'FocalPlaneXResolution': 4438.356164383562, 'FocalPlaneYResolution': 4445.969125214408, 'SubsecTime': '00', 'SubsecTimeOriginal': '00', 'SubsecTimeDigitized': '00', 'ExifImageHeight': 68, 'FocalPlaneResolutionUnit': 2, 'ExposureTime': 0.00625, 'FNumber': 7.1, 'ExposureProgram': 1, 'CustomRendered': 0, 'ISOSpeedRatings': 100, 'ExposureMode': 1, 'FlashPixVersion': b'0100', 'WhiteBalance': 0, 'SceneCaptureType': 0}

for exif.

Conclusion

To read the EXIF data for an image in Python, we can use the PIL.ExifTags module.