User Tools

Site Tools


software:python

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:python [2020/12/26 20:29] – [Plotly] superwizardsoftware:python [2020/12/27 05:23] (current) – [Plotly] superwizard
Line 531: Line 531:
 From <https://plot.ly/python/axes/>  From <https://plot.ly/python/axes/> 
  
 +</WRAP>
  
 +====== Regular Expression ======
 +
 +
 +<WRAP center round box >
  
 2019-05-29 2019-05-29
Line 555: Line 560:
  
 From <https://www.regular-expressions.info/regexmagic.html>  From <https://www.regular-expressions.info/regexmagic.html> 
- 
- 
- 
- 
  
 </WRAP> </WRAP>
  
-====== Plotly ======+====== Split the string at the last occurrence of sep ======
  
 <WRAP center round box > <WRAP center round box >
Line 572: Line 573:
  
 From <https://docs.python.org/3/library/stdtypes.html#string-methods>  From <https://docs.python.org/3/library/stdtypes.html#string-methods> 
 +</WRAP>
  
 +====== The built-in os module has a number of useful functions ======
 +
 +<WRAP center round box >
 The built-in os module has a number of useful functions that can be used to list directory contents and filter the results. To get a list of all the files and folders in a particular directory in the filesystem, use os.listdir() in legacy versions of Python or os.scandir() in Python 3.x. os.scandir() is the preferred method to use if you also want to get file and directory properties such as file size and modification date. The built-in os module has a number of useful functions that can be used to list directory contents and filter the results. To get a list of all the files and folders in a particular directory in the filesystem, use os.listdir() in legacy versions of Python or os.scandir() in Python 3.x. os.scandir() is the preferred method to use if you also want to get file and directory properties such as file size and modification date.
  
Line 579: Line 584:
  
  
 +</WRAP>
 +
 +====== Splitting, Concatenating, and Joining Strings in Python ======
 +
 +<WRAP center round box >
 2019-05-20 2019-05-20
  
Line 586: Line 596:
  
  
 +</WRAP>
 +
 +====== Regex Testor ======
 +
 +<WRAP center round box >
 Regex Testor Regex Testor
  
Line 591: Line 606:
 https://regex101.com/ https://regex101.com/
  
 +</WRAP>
 +
 +====== processdokuwikifile ======
 +
 +<WRAP center round box >
 2019-05-15 2019-05-15
  
Line 623: Line 643:
  
 From <https://www.vipinajayakumar.com/parsing-text-with-python/>  From <https://www.vipinajayakumar.com/parsing-text-with-python/> 
 +</WRAP>
  
 +====== PASS BY OBJECT REFERENCE (Case in python): ======
  
 +<WRAP center round box >
  
 2019-04-08 2019-04-08
Line 656: Line 679:
  
 From <https://stackoverflow.com/questions/13299427/python-functions-call-by-reference>  From <https://stackoverflow.com/questions/13299427/python-functions-call-by-reference> 
 +</WRAP>
  
  
  
 +====== Plotly ======
 +
 +<WRAP center round box >
 2019-03-31 2019-03-31
  
Line 673: Line 700:
  
  
 +</WRAP>
 +
 +====== Python write to CSV ======
 +
 +
 +<WRAP center round box >
  
 2019-03-29 2019-03-29
Line 705: Line 738:
  
 From <https://stackoverflow.com/questions/2084069/create-a-csv-file-with-values-from-a-python-list>  From <https://stackoverflow.com/questions/2084069/create-a-csv-file-with-values-from-a-python-list> 
 +</WRAP>
  
 +====== CSV in Python adding an extra carriage return, on Windows ======
 +
 +<WRAP center round box >
  
 CSV in Python adding an extra carriage return, on Windows CSV in Python adding an extra carriage return, on Windows
Line 717: Line 754:
 From <https://stackoverflow.com/questions/3191528/csv-in-python-adding-an-extra-carriage-return-on-windows>  From <https://stackoverflow.com/questions/3191528/csv-in-python-adding-an-extra-carriage-return-on-windows> 
  
 +</WRAP>
 +
 +====== Examples of simple type checking in Python: ======
 +
 +
 +<WRAP center round box >
 2019-02-17 2019-02-17
  
Line 740: Line 783:
 From <https://stackoverflow.com/questions/402504/how-to-determine-a-python-variables-type>  From <https://stackoverflow.com/questions/402504/how-to-determine-a-python-variables-type> 
  
 +</WRAP>
 +
 +====== isinstance() ======
 +
 +<WRAP center round box >
 With one argument, return the type of an object. The return value is a type object. The isinstance() built-in function is recommended for testing With one argument, return the type of an object. The return value is a type object. The isinstance() built-in function is recommended for testing
  
Line 756: Line 804:
  
 From <https://www.geeksforgeeks.org/type-isinstance-python/>  From <https://www.geeksforgeeks.org/type-isinstance-python/> 
- 
- 
- 
  
 </WRAP> </WRAP>
  
-<WRAP center round box 60%>+====== graph-cli ====== 
 + 
 +<WRAP center round box >
 2019-01-05 2019-01-05
  
Line 773: Line 820:
  
  
 +</WRAP>
 +
 +====== copy2 ======
 +
 +<WRAP center round box >
  
 2018-12-25 2018-12-25
Line 785: Line 837:
 From <https://stackabuse.com/how-to-copy-a-file-in-python/>  From <https://stackabuse.com/how-to-copy-a-file-in-python/> 
  
 +</WRAP>
 +
 +====== Start of String Only: \A ======
 +
 +<WRAP center round box >
  
 Start of String Only: \A Start of String Only: \A
Line 790: Line 847:
  
 From <https://docs.microsoft.com/en-us/dotnet/standard/base-types/anchors-in-regular-expressions>  From <https://docs.microsoft.com/en-us/dotnet/standard/base-types/anchors-in-regular-expressions> 
 +
 +</WRAP>
 +
 +====== Decimals interact well with much of the rest of Python ======
 +
 +<WRAP center round box >
  
 decimal — Decimal fixed point and floating point arithmetic decimal — Decimal fixed point and floating point arithmetic
Line 821: Line 884:
  
 From <https://docs.python.org/3/library/decimal.html>  From <https://docs.python.org/3/library/decimal.html> 
 +
 +</WRAP>
 +
 +====== splitting a number into the integer and decimal parts ======
 +
 +<WRAP center round box >
 +
  
 splitting a number into the integer and decimal parts splitting a number into the integer and decimal parts
Line 856: Line 926:
 From <https://www.w3schools.com/python/python_datetime.asp>  From <https://www.w3schools.com/python/python_datetime.asp> 
  
 +</WRAP>
 +
 +====== Module datetime provides ======
 +
 +<WRAP center round box >
  
 Module datetime provides classes for manipulating date and time in more object oriented way. One of them is datetime.datetime.now which return number of seconds since the epoch. Module datetime provides classes for manipulating date and time in more object oriented way. One of them is datetime.datetime.now which return number of seconds since the epoch.
Line 876: Line 951:
  
  
 +</WRAP>
 +
 +====== Example 2: Right justify string and fill the remaining spaces ======
 +
 +<WRAP center round box >
 Example 2: Right justify string and fill the remaining spaces Example 2: Right justify string and fill the remaining spaces
  
Line 889: Line 969:
 From <https://www.programiz.com/python-programming/methods/string/rjust>  From <https://www.programiz.com/python-programming/methods/string/rjust> 
  
 +</WRAP>
  
 +====== Practical Business Python ======
  
 +<WRAP center round box >
 2018-12-24 2018-12-24
  
 Practical Business Python Practical Business Python
- 
  
 pbpython/extras/Pathlib-Cheatsheet.pdf pbpython/extras/Pathlib-Cheatsheet.pdf
Line 902: Line 983:
  
  
 +</WRAP>
  
 +====== The divmod() returns ======
  
 +<WRAP center round box >
  
  
Line 913: Line 997:
 From <https://www.programiz.com/python-programming/methods/built-in/divmod>  From <https://www.programiz.com/python-programming/methods/built-in/divmod> 
  
 +</WRAP>
 +
 +====== numpy ======
 +
 +<WRAP center round box >
 2018-11-18 2018-11-18
  
 +<code>
 pip install numpy pip install numpy
 +</code>
  
 From <https://pypi.org/project/numpy/>  From <https://pypi.org/project/numpy/> 
  
 +<code>
 pip3.6 install numpy pip3.6 install numpy
 pip3.6 install scipy pip3.6 install scipy
Line 926: Line 1018:
 Install opencv-python instead of cv2. Install opencv-python instead of cv2.
 pip install opencv-python pip install opencv-python
 +</code>
  
 From <https://github.com/jazzsaxmafia/video_to_sequence/issues/3>  From <https://github.com/jazzsaxmafia/video_to_sequence/issues/3> 
  
 +</WRAP>
 +
 +====== compare the use of lambda ======
 +
 +<WRAP center round box >
  
  
Line 936: Line 1034:
  
 From <https://stackoverflow.com/questions/8966538/syntax-behind-sortedkey-lambda>  From <https://stackoverflow.com/questions/8966538/syntax-behind-sortedkey-lambda> 
 +</WRAP>
 +
 +====== Key Functions ======
 +
 +<WRAP center round box >
  
 Key Functions Key Functions
Line 951: Line 1054:
 This image was created with the following code. This image was created with the following code.
  
 +<code>
 1 import operator                                                   1 import operator                                                  
 2 import pylab 2 import pylab
Line 978: Line 1082:
 26 pylab.grid() 26 pylab.grid()
 27 pylab.title("Performance sorted dictionary by values") 27 pylab.title("Performance sorted dictionary by values")
 +</code>
  
 From <http://thomas-cokelaer.info/blog/2017/12/how-to-sort-a-dictionary-by-values-in-python/>  From <http://thomas-cokelaer.info/blog/2017/12/how-to-sort-a-dictionary-by-values-in-python/> 
Line 983: Line 1088:
 As already said, iteritems() will be a problem, but you mention a syntax error, which comes from the lambda declaration with parenthesis: As already said, iteritems() will be a problem, but you mention a syntax error, which comes from the lambda declaration with parenthesis:
 Change: Change:
 +<code>
 key=lambda(k, v): sort_order.index(k) key=lambda(k, v): sort_order.index(k)
 +</code>
 To: To:
 +<code>
 key=lambda k, v: sort_order.index(k) key=lambda k, v: sort_order.index(k)
 +</code>
  
 From <https://stackoverflow.com/questions/47749438/lambda-sorting-in-python-3>  From <https://stackoverflow.com/questions/47749438/lambda-sorting-in-python-3> 
Line 992: Line 1101:
 </WRAP> </WRAP>
  
-<WRAP center round box 60%>+====== What problem does pandas solve? ====== 
 + 
 +<WRAP center round box >
  
 2018-11-15 2018-11-15
Line 1002: Line 1113:
  
 NumPy NumPy
 +<code>
 NumPy is the fundamental package for scientific computing with Python. It contains among other things: NumPy is the fundamental package for scientific computing with Python. It contains among other things:
 • a powerful N-dimensional array object • a powerful N-dimensional array object
Line 1007: Line 1119:
 • tools for integrating C/C++ and Fortran code • tools for integrating C/C++ and Fortran code
 • useful linear algebra, Fourier transform, and random number capabilities • useful linear algebra, Fourier transform, and random number capabilities
 +</code>
  
 From <http://www.numpy.org/>  From <http://www.numpy.org/> 
Line 1013: Line 1126:
  
 From <https://machinelearningmastery.com/broadcasting-with-numpy-arrays/>  From <https://machinelearningmastery.com/broadcasting-with-numpy-arrays/> 
 +
 +</WRAP>
 +
 +====== scikit-learn ======
 +
 +<WRAP center round box >
  
 scikit-learn scikit-learn
Line 1028: Line 1147:
 From <http://pybrain.org/>  From <http://pybrain.org/> 
  
 +</WRAP>
  
 +====== python read fails on special characters ======
  
 +<WRAP center round box >
  
 2018-11-06 2018-11-06
Line 1043: Line 1165:
  
 From <https://stackoverflow.com/questions/47635759/how-to-read-a-text-file-with-special-characters-in-python>  From <https://stackoverflow.com/questions/47635759/how-to-read-a-text-file-with-special-characters-in-python> 
 +</WRAP>
  
 +====== idle args ======
  
 +
 +<WRAP center round box >
  
 2018-10-31 2018-10-31
Line 1058: Line 1184:
  
 Pending application of a patch, the following will work to only add args to sys.argv when running from an Idle editor. Pending application of a patch, the following will work to only add args to sys.argv when running from an Idle editor.
 +<code>
 import sys import sys
 # ... # ...
Line 1072: Line 1199:
 except: except:
     sys.argv = [sys.argv[0], 'argument1', 'argument2', 'argument2']     sys.argv = [sys.argv[0], 'argument1', 'argument2', 'argument2']
 +</code>
  
 From <https://stackoverflow.com/questions/2148994/when-running-a-python-script-in-idle-is-there-a-way-to-pass-in-command-line-arg>  From <https://stackoverflow.com/questions/2148994/when-running-a-python-script-in-idle-is-there-a-way-to-pass-in-command-line-arg> 
  
 +</WRAP>
  
 +====== Auto detect IDLE and prompt for command-line argument values ======
 +
 +
 +<WRAP center round box >
  
 2018-10-31 2018-10-31
Line 1081: Line 1214:
 Auto detect IDLE and prompt for command-line argument values Auto detect IDLE and prompt for command-line argument values
  
-#! /usr/bin/env python3+<code> 
 +c#! /usr/bin/env python3
 import sys import sys
 def ok(x=None): def ok(x=None):
Line 1097: Line 1231:
       root.bind("<Escape>", lambda x: root.destroy())       root.bind("<Escape>", lambda x: root.destroy())
 e.focus() e.focus()
 +</code>
  
 From <https://stackoverflow.com/questions/2148994/when-running-a-python-script-in-idle-is-there-a-way-to-pass-in-command-line-arg/44687632#44687632>  From <https://stackoverflow.com/questions/2148994/when-running-a-python-script-in-idle-is-there-a-way-to-pass-in-command-line-arg/44687632#44687632> 
  
 +</WRAP>
 +
 +====== print the files deleted ======
 +
 +<WRAP center round box >
  
  
Line 1105: Line 1245:
 Python Script Python Script
 Here's a Python script that will also print the files deleted Here's a Python script that will also print the files deleted
 +<code>
 import os import os
 for line in open("./data/deleted.files"): for line in open("./data/deleted.files"):
Line 1116: Line 1257:
     except OSError:     except OSError:
         pass         pass
 +</code>
 +
 +</WRAP>
 +
 +====== delete directories ======
 +
 +<WRAP center round box >
 Here's an alternative Python script that is case sensitive and will also delete directories included in the list Here's an alternative Python script that is case sensitive and will also delete directories included in the list
 +<code>
 import os import os
 import shutil import shutil
Line 1141: Line 1290:
                 #print('File not found => ' + path)                 #print('File not found => ' + path)
                 pass                 pass
 +</code>
  
 From <https://www.dokuwiki.org/install:unused_files>  From <https://www.dokuwiki.org/install:unused_files> 
  
  
 +</WRAP>
 +
 +====== checkpoints ======
 +
 +<WRAP center round box >
  
 2018-10-06 2018-10-06
 GLOB GLOB
  
 +<code>
 def delete_previous_checkpoints(self, num_previous=5): def delete_previous_checkpoints(self, num_previous=5):
         """         """
Line 1165: Line 1321:
                 ckpt_file_nm = self.get_checkpoint_location() + '/model_' + str(ckpt_id) + '.ckpt'                 ckpt_file_nm = self.get_checkpoint_location() + '/model_' + str(ckpt_id) + '.ckpt'
                 os.remove(ckpt_file_nm)                  os.remove(ckpt_file_nm) 
 +</code>
  
 From <https://www.programcreek.com/python/example/92/glob.glob>  From <https://www.programcreek.com/python/example/92/glob.glob> 
 +</WRAP>
  
 +====== argparse ======
  
 +<WRAP center round box >
  
 2018-10-06 2018-10-06
Line 1176: Line 1336:
 From <https://stackoverflow.com/questions/35365344/python-sys-argv-and-argparse>  From <https://stackoverflow.com/questions/35365344/python-sys-argv-and-argparse> 
  
 +</WRAP>
 +
 +====== Argparse Tutorial ======
 +
 +
 +<WRAP center round box >
  
 Argparse Tutorial Argparse Tutorial
Line 1183: Line 1349:
 From <https://docs.python.org/3.7/howto/argparse.html>  From <https://docs.python.org/3.7/howto/argparse.html> 
  
 +<code>
 *args and **kwargs in Python *args and **kwargs in Python
 *args *args
 +</code>
 The special syntax *args in function definitions in python is used to pass a variable number of arguments to a function. It is used to pass a non-keyworded, variable-length argument list. The special syntax *args in function definitions in python is used to pass a variable number of arguments to a function. It is used to pass a non-keyworded, variable-length argument list.
  
Line 1190: Line 1358:
  
  
 +</WRAP>
 +
 +====== recursive ======
 +
 +<WRAP center round box >
  
 2018-10-03 2018-10-03
Line 1199: Line 1372:
 From <https://stackoverflow.com/questions/14798220/how-can-i-search-sub-folders-using-glob-glob-module-in-python>  From <https://stackoverflow.com/questions/14798220/how-can-i-search-sub-folders-using-glob-glob-module-in-python> 
  
 +I have successfully used 
 +<code>
 +for i in d.rglob('**/*'):
 +</code>
 +
 +<code>
 for i in d.iglob('**/*'): for i in d.iglob('**/*'):
 +</code>
  
 The “**” pattern means “this directory and all subdirectories, recursively”. In other words, it enables recursive globbing: The “**” pattern means “this directory and all subdirectories, recursively”. In other words, it enables recursive globbing:
Line 1205: Line 1385:
 From <https://docs.python.org/3/library/pathlib.html>  From <https://docs.python.org/3/library/pathlib.html> 
  
 +<code>
 errno.ENOTEMPTY errno.ENOTEMPTY
  Directory not empty  Directory not empty
 +</code>
  
 From <https://docs.python.org/2/library/errno.html>  From <https://docs.python.org/2/library/errno.html> 
  
 +<code>
 errno.EACCES¶ errno.EACCES¶
  Permission denied  Permission denied
 +</code>
  
 From <https://docs.python.org/2/library/errno.html>  From <https://docs.python.org/2/library/errno.html> 
  
 +<code>
 except OSError as e:  except OSError as e:
  if e.errno not in _IGNORED_ERROS:  if e.errno not in _IGNORED_ERROS:
  raise  raise
  return False  return False
 +</code>
  
 From <https://github.com/python/cpython/blob/3.7/Lib/pathlib.py>  From <https://github.com/python/cpython/blob/3.7/Lib/pathlib.py> 
  
 +<code>
 except OSError as e:  except OSError as e:
  if e.errno != EINVAL and strict:  if e.errno != EINVAL and strict:
  raise  raise
 +</code>
  
 From <https://github.com/python/cpython/blob/3.7/Lib/pathlib.py>  From <https://github.com/python/cpython/blob/3.7/Lib/pathlib.py> 
  
 +</WRAP>
 +
 +====== walktree ======
 +
 +<WRAP center round box >
 2018-10-01 2018-10-01
  
Line 1255: Line 1448:
  
  
 +</WRAP>
 +
 +====== Dropbox in python ======
 +
 +
 +
 +<WRAP center round box >
  
 2018-09-29 2018-09-29
 Dropbox in python Dropbox in python
  
 +<code>
 from pathlib import Path from pathlib import Path
 import arrow import arrow
Line 1271: Line 1471:
             #remove it             #remove it
             pass             pass
 +</code>
 From <https://stackoverflow.com/questions/12485666/python-deleting-all-files-in-a-folder-older-than-x-days>  From <https://stackoverflow.com/questions/12485666/python-deleting-all-files-in-a-folder-older-than-x-days> 
  
Line 1279: Line 1479:
 From <https://stackoverflow.com/questions/4289937/how-to-repeat-last-command-in-python-interpreter-shell>  From <https://stackoverflow.com/questions/4289937/how-to-repeat-last-command-in-python-interpreter-shell> 
  
 +</WRAP>
 +
 +====== CSV Toolkit Overview ======
 +
 +
 +<WRAP center round box >
 2018-09-04 2018-09-04
  
Line 1287: Line 1493:
 From <https://pypi.org/project/csv.toolkit/>  From <https://pypi.org/project/csv.toolkit/> 
  
 +</WRAP>
 +
 +====== What is Bonobo? ======
 +
 +<WRAP center round box >
 What is Bonobo? What is Bonobo?
 Bonobo is a lightweight Extract-Transform-Load (ETL) framework for Python 3.5+. Bonobo is a lightweight Extract-Transform-Load (ETL) framework for Python 3.5+.
Line 1298: Line 1509:
 From <https://csvkit.readthedocs.io/en/1.0.3/>  From <https://csvkit.readthedocs.io/en/1.0.3/> 
  
 +</WRAP>
 +
 +====== Awesome Python ======
 +
 +<WRAP center round box >
 Awesome Python  Awesome Python 
 A curated list of awesome Python frameworks, libraries, software and resources. A curated list of awesome Python frameworks, libraries, software and resources.
Line 1313: Line 1529:
 From <https://github.com/vinta/awesome-python>  From <https://github.com/vinta/awesome-python> 
  
 +</WRAP>
  
 +====== Python data visualization: Comparing 7 tools ======
 +
 +<WRAP center round box >
  
 2018-09-04 2018-09-04
Line 1323: Line 1543:
  
 </WRAP> </WRAP>
 +
 +
 +====== Best way to sort txt file using csv tools in python ======
  
  
software/python.1609014561.txt.gz · Last modified: 2020/12/26 20:29 by superwizard