UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xa0′ in position 20: ordinal not in range(128)

You need to read the Python Unicode HOWTO. This error is the very first example. Basically, stop using str to convert from unicode to encoded text / bytes. Instead, properly use .encode() to encode the string: p.agent_info = u’ ‘.join((agent_contact, agent_telno)).encode(‘utf-8’).strip() or work entirely in unicode.

Creating a singleton in Python

Use a Metaclass I would recommend Method #2, but you’re better off using a metaclass than a base class. Here is a sample implementation: class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) return cls._instances[cls] class Logger(object): __metaclass__ = Singleton Or in Python3 class Logger(metaclass=Singleton): … Read more

What are the differences between type() and isinstance()?

To summarize the contents of other (already good!) answers, isinstance caters for inheritance (an instance of a derived class is an instance of a base class, too), while checking for equality of type does not (it demands identity of types and rejects instances of subtypes, AKA subclasses). Normally, in Python, you want your code to … Read more

How do I get the filename without the extension from a path in Python?

Getting the name of the file without the extension: import os print(os.path.splitext(“/path/to/some/file.txt”)[0]) Prints: /path/to/some/file Documentation for os.path.splitext. Important Note: If the filename has multiple dots, only the extension after the last one is removed. For example: import os print(os.path.splitext(“/path/to/some/file.txt.zip.asc”)[0]) Prints: /path/to/some/file.txt.zip See other answers below if you need to handle that case.

Create a dictionary with comprehension

Use a dict comprehension (Python 2.7 and later): {key: value for (key, value) in iterable} Alternatively for simpler cases or earlier version of Python, use the dict constructor, e.g.: pairs = [(‘a’, 1), (‘b’, 2)] dict(pairs) #=> {‘a’: 1, ‘b’: 2} dict([(k, v+1) for k, v in pairs]) #=> {‘a’: 2, ‘b’: 3} Given separate … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)