Sunday, January 21, 2024

Python string format / print


a) using  str.format():

>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))
We are the knights who say "Ni!"

The brackets and characters within them (called format fields) are replaced with the objects passed into the str.format() method. A number in the brackets refers to the position of the object passed into the str.format() method.

>>> print('{1} and {0}'.format('spam', 'eggs'))
eggs and spam

>>> print('This {food} is {adjective}.'.format(food='jam', adjective='absolutely horrible'))
This spam is absolutely horrible.
Positional and keyword arguments can be arbitrarily combined:

>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))
The story of Bill, Manfred, and Georg.

b) using f-strings    (need Python 3.6)
toto = 10
titi = 15
print(f' toto = {toto}', f' titi = {titi}')

print() can take 255 parameters. When using '+' is a way to have a single parameter is used.

c) using % format (old school, strong limitations)

_________________ from copilot about f-string versus format print
Both f-strings and the `format()` method in Python are used for string formatting, but they have some differences.

f-strings (formatted string literals) were introduced in Python 3.6. They are prefixed with 'f' and are a new and improved way to format strings in Python. They are concise, easy to read, and less prone to error than other formatting methods. 

The `format()` method is available in both Python 2 and 3. It's more verbose than f-strings, but it's more flexible and can do a few things that f-strings can't, like dynamic formatting. Here's an example:

>>> percentage = 0.23456789
>>> '{:2.2%}'.format(percentage)
'23.46%'

In general, if you're using Python 3.6 or later, f-strings are the recommended way to format strings due to their simplicity and efficiency. However, if you need to support older versions of Python or require more complex formatting, you might want to use the `format()` method.

print" is a function in Python3 (was a statement in Python2)


def print(self, *args, sep=' ', end='\n', file=None)

.

Monday, January 15, 2024

Jupyter notebook

  •  start
    • "jupyter notebook"
    • from        ~/tools/jupyter.  (to be able to retrieve jupyter projects)

Monday, December 4, 2023

vscode

  •  select a column
    • click once on the top position
    • alt + shift + keep left click mouse to select a colum
  • disable autocompletion in txt files
    • ~/Library/Application Support/Code/User/settings.json

    "[plaintext]": {
      "editor.suggest.showSnippets": false,
      "editor.suggest.showWords": false,
      "editor.acceptSuggestionOnCommitCharacter": false,
      "editor.acceptSuggestionOnEnter": "off"
    }


Tuesday, November 21, 2023

codium editor

Codium is like "VS Code" but without Microsoft prorpietary parts.

  • select a rectangle on MacOS: 
    • set the cursor on the line
    • keep pressed "alt " + "cmd " and use the down arrows
    • edit

Thursday, May 20, 2021

jbd2 causing a lot of disk access

Symptom: jbd2 very active in iotop:

  221 be/3 root        0.00 B/s   60.87 K/s  0.00 % 38.90 % [jbd2/sda2-8]

This can happen if you changed a lot of files on your hard disk, but activity will go lower over time.
To disable the updatedb cron that uses jbd2 also, you can do:
sudo chmod -x /etc/cron.daily/mlocate
You can also change the commit frequency in /etc/fstab (but jbd2 will happen anyway, but less frequently)

 root@arau3:~# more /etc/fstab 

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

# / was on /dev/sda2 during installation

UUID=d6852e87-0e39-44a1-a431-6f23456f1250 /               ext4    commit=60,errors=remount-ro 0      

 1

Monday, May 3, 2021

atom editor

My packages:

    - pretty-json

Insert a carriage return:

    - switch to regexp mode and put \n in the "replace" zone

Select a rectangle

  - If you want to select a rectangular region in atom all you have to do is first set the horizontal dimension by selecting some text, then set the vertical dimension by holding CTL-SHIFT and then pressing the up or down arrow. 

Alternatively you can do this the other way around and set the vertical dimension first with CTL-SHIFT, then let go of CTL but keep holding SHIFT and then use the right or left arrow to select the horizontal dimension.

.

HTML link pointing to a HTML anchor

HTML Anchor:

<a name="overview.description">

you can point to this anchor within the HTML:

<a href="#overview.description">Description</a>

or through a URL link:

https://lucene.apache.org/core/7_7_1/core/overview-summary.html#overview.description