title: Calling Python through MATLAB Script
body: <p>I am new to Python and I would like to pass my matlab variables to Python. The following code takes a python script and arguments. For example: <code>python('square.py', '5')</code>. Would it be possible to pass variables to Python through this matlab script? For example: </p>
  
  <pre><code>python('square.py', 'value')
  function [result status] = python(varargin)
  
  cmdString = '';
  
  % Add input to arguments to operating system command to be executed.
  % (If an argument refers to a file on the MATLAB path, use full file path.)
  for i = 1:nargin
  thisArg = varargin{i};
  if isempty(thisArg) || ~ischar(thisArg)
      error('MATLAB:python:InputsMustBeStrings', 'All input arguments must be valid strings.');
  end
  if i==1
      if exist(thisArg, 'file')==2
          % This is a valid file on the MATLAB path
          if isempty(dir(thisArg))
              % Not complete file specification
              % - file is not in current directory
              % - OR filename specified without extension
              % ==&gt; get full file path
              thisArg = which(thisArg);
          end
      else
          % First input argument is PythonFile - it must be a valid file
          error('MATLAB:python:FileNotFound', 'Unable to find Python file: %s', thisArg);
      end
  end
  
    % Wrap thisArg in double quotes if it contains spaces
    if any(thisArg == ' ')
      thisArg = ['"', thisArg, '"'];
    end
  
    % Add argument to command string
    cmdString = [cmdString, ' ', thisArg];
  end
  
  % Execute Python script
  errTxtNoPython = 'Unable to find Python executable.';
  
  if isempty(cmdString)
    error('MATLAB:python:NoPythonCommand', 'No python command specified');
     elseif ispc
    % PC
    pythonCmd = '/usr/bin/python';
    cmdString = ['python', cmdString];
    pythonCmd = ['set PATH=',pythonCmd, ';%PATH%&amp;' cmdString];
    [status, result] = dos(pythonCmd);
  else
    % UNIX
    [status ignore] = unix('which python'); %#ok
    if (status == 0)
      cmdString = ['python', cmdString];
      [status, result] = unix(cmdString);
    else
      error('MATLAB:python:NoExecutable', errTxtNoPython);
    end
  end
  
  % Check for errors in shell command
  if nargout &lt; 2 &amp;&amp; status~=0
    error('MATLAB:python:ExecutionError', ...
      'System error: %sCommand executed: %s', result, cmdString);
  end
  </code></pre>