The modules are divided into three types:
Built-in Modules
Open source Module
Custom Modules
One: Custom modules
1. Defining the module: writing a python file with a function Ftp.py,ftp module name
ftp.py
def get (File_path): print (' Download file%s '%file_path) def put (File_path): print (' Download file%s '%file_path)
2. How to import modules
Import FTP
From FTP import get
From FTP import put as upload
From FTP Import *
3. Namespaces
The nature of 4.import
Importing a module is essentially explaining the execution of a python file
Importing a package is essentially explaining the __init__.py file under the package.
5. Search paths and Sys.path operations
Two: Open source module
1. Define module: Download and install
Way One:
Yum Pipapt-get ...
Way two:
Download source code to extract the source code into the directory compiled source python setup.py build installation source python setup.py install
Note: When using source installation, you need to use the GCC compilation and Python development environment, so you need to do it first:
Yum Install Gccyum install python-devel or apt-get Python-dev
After the installation is successful, the module is automatically installed in a directory in Sys.path, such as:
/usr/lib/python2.7/site-packages/
2. Import module (same as custom module mode)
3:paramiko
I: Download and install
# Pycrypto, because the Paramiko module is internally dependent on Pycrypto, so download and install Pycrypto # download Install Pycryptowget http://files.cnblogs.com/files/wupeiqi/ PYCRYPTO-2.6.1.TAR.GZTAR-XVF pycrypto-2.6.1.tar.gzcd pycrypto-2.6.1python setup.py buildpython setup.py Install # Enter the python environment, import crypto check whether the installation is successful # download install Paramikowget Http://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gztar- XVF paramiko-1.10.1.tar.gzcd paramiko-1.10.1python setup.py buildpython setup.py Install # into the Python environment, Import Paramiko Check whether the installation was successful
II. Using modules
1. Login based on user name and password in sshclient mode
Import paramiko# establishes an Sshclient object ssh = Paramiko. Sshclient () # allows trusted hosts to be automatically added to the Host_allow list, which must be placed in front of the Connect method Ssh.set_missing_host_key_policy (Paramiko. Autoaddpolicy ()) # Call the Connect method to connect to server Ssh.connect (hostname= ' 172.16.209.19 ', port=22,username= ' root ', password= ' 123 ') # Execute command stdin, stdout, stderr = Ssh.exec_command (' df-hl ') # result put in stdout, if there is an error will be placed in stderr print (Stdout.read (). Decode ()) # Close Connection Ssh.close ()
Note: Two more lines are required to run interactive commands in sshclient mode
Import paramiko# establishes an Sshclient object ssh = Paramiko. Sshclient () # allows trusted hosts to be automatically added to the Host_allow list, which must be placed in front of the Connect method Ssh.set_missing_host_key_policy (Paramiko. Autoaddpolicy ()) # Call the Connect Method connection server Ssh.connect (hostname= ' 172.16.209.119 ', port=22,username= ' root ', password= ' 123 ') # Execute command stdin, stdout, stderr = Ssh.exec_command ("passwd lhf") # result put into stdout, if error will be placed in stderr stdin.write (' 123\n ') Stdin.flush () stdin.write (' 123\n ') Stdin.flush () print (Stderr.read ()) # Close Connection Ssh.close ()
2 Login
> actually Paramiko. Sshclient (). Connect () The internal implementation of this method calls the transport (). Connect () method. So you can think of transport () as a common way to create a connection inside a Paramiko.
#!/usr/bin/pythonimport paramiko# instantiates a transport object trans = Paramiko. Transport (' 172.16.209.119 ', 22) # Establish connection Trans.connect (username= ' root ', password= ' 123 ') # Specifies the transport of the Sshclient object as the TRANSSSH = Paramiko above. Sshclient () Ssh._transport = trans# Executes the command, like the traditional method stdin, stdout, stderr = Ssh.exec_command (' Df-hl ') print (Stdout.read (). Decode ()) # Close Connection Trans.close ()
3. Sshclient mode login based on public key
#!/usr/bin/pythonimport paramiko# Specifies the local RSA private key file, if a password is set when setting the key pair, password is the set password, such as without specifying the password parameter Pkey = Paramiko. Rsakey.from_private_key_file (' D:\id_rsa ', password= ' 123456 ') # establishes a connection to SSH = Paramiko. Sshclient () Ssh.set_missing_host_key_policy (Paramiko. Autoaddpolicy ()) Ssh.connect (hostname= ' 172.16.209.119 ', port=22, username= ' root ', Pkey=pke Y) # Execute command stdin, stdout, stderr = Ssh.exec_command (' Df-hl ') # results put in stdout, if there is an error will be placed in stderr print (Stdout.read (). Decode ()) # Close Connection Ssh.close ()
4. Key-based Transport mode login
#!/usr/bin/pythonimport paramiko# Specifies the local RSA private key file, if a password is set when setting the key pair, password is the set password, such as without specifying the password parameter Pkey = Paramiko. Rsakey.from_private_key_file (' D:\id_rsa ', password= ' 123456 ') # establishes a connection to trans = Paramiko. Transport (' 172.16.209.119 ', ') ' Trans.connect (username= ' root ', pkey=pkey) # Specify Sshclient of the object to be above Transport = Paramiko. Sshclient () Ssh._transport = trans# Executes the command, like the traditional method stdin, stdout, stderr = Ssh.exec_command (' Df-hl ') print (Stdout.read (). Decode ()) # Close Connection Trans.close ()
Upload file SFTP
#!/usr/bin/pythonimport paramiko# instantiates a trans object # instantiates a transport object trans = Paramiko. Transport (' 172.16.209.119 ', 22) # Establishes a connection Trans.connect (username= ' root ', password= ' 123 ') # instantiates an Sftp object, specifying the connected channel SFTP = Paramiko. Sftpclient.from_transport (trans) # Send file Sftp.put (localpath= ' D:\id_rsa ', remotepath= '/tmp/id_rsa ') # download File # sftp.get ( RemotePath, LocalPath) trans.close ()
Three: Built-in modules
OS Module
Used to provide system-level operations
OS.GETCWD () Gets the current working directory, which is the directory path of the current Python script work os.chdir ("DirName") changes the current script working directory, which is equivalent to the shell Cdos.curdir return current directory: ('. ') os.pardir Gets the parent directory string name of the current directory: (' ... ') Os.makedirs (' dirname1/dirname2 ') can generate multi-level recursive directory Os.removedirs (' dirname1 ') If the directory is empty, then delete, and recursively to the previous level of the directory, if also empty, then delete, and so on Os.mkdir (' dirname ') generate a single-level directory, equivalent to the shell mkdir Dirnameos.rmdir (' dirname ') Delete single-level empty directory, if the directory is not empty can not be deleted, error; equivalent to Rmdir dirnameos.listdir in the shell (' dirname ') list all files and subdirectories under the specified directory, including hidden files, and print os.remove () Delete a file Os.rename (" Oldname "," NewName ") Rename File/directory Os.stat (' path/filename ') get File/directory information os.sep Output operating system-specific path delimiter, win under "\ \", Linux for "/" os.linesep output the current platform using the line terminator, win under "\t\n", Linux "\ N "os.pathsep output string to split file path os.name output string indicates the current usage platform. Win-> ' nt '; linux-> ' POSIX ' Os.system ("Bash command") &nBSP; Run shell command, directly display os.environ get system environment variable Os.path.abspath (path) return path normalized absolute path Os.path.split ( Path) split path into a directory and a file name of two tuples returned, it is only the "path" in the last '/' as a delimiter, separated by the index of 0 as a directory (path), The directory with index 1 as the file name Os.path.dirname (path) returns path. It is actually the first element of Os.path.split (path) returns the last file name of path. If path ends with a/or \, then a null value is returned. The second element of Os.path.split (path) returns true if path exists, or Falseos.path.isabs (path) If path does not exist. If path is an absolute path, return Trueos.path.isfile (path) True if path is an existing file. Otherwise, return Falseos.path.isdir (path) True if path is an existing directory. Otherwise return Falseos.path.join (path1[, path2[, ...]) returns a combination of multiple paths, the parameters before the first absolute path are ignored Os.path.getatime (path) Returns the last access time of the file or directory pointed to by Path Os.path.getmtime (path) returns the last modified time of the file or directory to which path is pointing
Os.path.join Demonstration
>>> os.path.join (' c:\\ ', ' csv ', ' test.csv ') ' C:\\csv\\test.csv ' >>> os.path.join (' Windows\Temp ', ' C : \ \ ', ' csv ', ' test.csv ') ' C:\\csv\\test.csv ' >>> os.path.join ('/home/aa ', '/home/aa/bb ', '/home/aa/bb/c ') '/ Home/aa/bb/c '
This article is from "A Good person" blog, please be sure to keep this source http://egon09.blog.51cto.com/9161406/1840081
Python module-part2