Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Documentation/html/_modules/tools.html

    r08c9091 r903ed4f  
    184184<span class="c1">#          put_file_to_ecserver, submit_job_to_ecserver, get_informations,</span>
    185185<span class="c1">#          get_dimensions, execute_subprocess, none_or_int, none_or_str</span>
     186<span class="c1">#</span>
     187<span class="c1">#    August 2020 - Leopold Haimberger (University of Vienna)</span>
     188<span class="c1">#        - added function to check if a specific string is in a file</span>
     189<span class="c1">#        - added function to overwrite lines in a file which contain specific string</span>
    186190<span class="c1">#</span>
    187191<span class="c1"># @License:</span>
     
    411415                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
    412416                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;The name of the ECMWF server name where the&#39;</span>
    413                         <span class="s1">&#39;job script is to be submitted &#39;</span> 
     417                        <span class="s1">&#39;job script is to be submitted &#39;</span>
    414418                        <span class="s1">&#39;(e.g. ecgate | cca | ccb)&#39;</span><span class="p">)</span>
    415419
     
    786790    <span class="sd">&#39;&#39;&#39;Creates a directory.</span>
    787791
    788 <span class="sd">    If the directory already exists, an information is printed and the creation </span>
     792<span class="sd">    If the directory already exists, an information is printed and the creation</span>
    789793<span class="sd">    skipped. The program stops only if there is another problem.</span>
    790794
     
    10181022<span class="sd">    ----------</span>
    10191023<span class="sd">    cmd_list : list of str</span>
    1020 <span class="sd">        A list of the components for the command line execution. </span>
    1021 <span class="sd">        They will be concatenated with blank space for the command </span>
     1024<span class="sd">        A list of the components for the command line execution.</span>
     1025<span class="sd">        They will be concatenated with blank space for the command</span>
    10221026<span class="sd">        to be submitted, like [&#39;mv&#39;, file1, file2] for mv file1 file2.</span>
    10231027
     
    10721076
    10731077    <span class="k">return</span> <span class="n">start_period</span><span class="p">,</span> <span class="n">end_period</span></div>
     1078
     1079
     1080<div class="viewcode-block" id="check_for_string_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.check_for_string_in_file">[docs]</a><span class="k">def</span> <span class="nf">check_for_string_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">):</span>
     1081    <span class="sd">&quot;&quot;&quot;</span>
     1082<span class="sd">    Search for a specific string in a file and return True if</span>
     1083<span class="sd">    the string was found.</span>
     1084
     1085<span class="sd">    Parameters</span>
     1086<span class="sd">    ----------</span>
     1087<span class="sd">    filepath : str</span>
     1088<span class="sd">        The full file path which is to be examined.</span>
     1089
     1090<span class="sd">    search_string : str</span>
     1091<span class="sd">        The string which is looked up for in the file.</span>
     1092
     1093<span class="sd">    Return</span>
     1094<span class="sd">    ------</span>
     1095<span class="sd">    Boolean :</span>
     1096<span class="sd">        True : String was found</span>
     1097<span class="sd">        False : String was not found</span>
     1098<span class="sd">    &quot;&quot;&quot;</span>
     1099    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
     1100        <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fio</span><span class="p">:</span>
     1101            <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
     1102                <span class="k">return</span> <span class="kc">True</span>
     1103    <span class="k">return</span> <span class="kc">False</span></div>
     1104
     1105
     1106<div class="viewcode-block" id="overwrite_lines_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.overwrite_lines_in_file">[docs]</a><span class="k">def</span> <span class="nf">overwrite_lines_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">,</span> <span class="n">sub_string</span><span class="p">):</span>
     1107    <span class="sd">&quot;&quot;&quot;</span>
     1108<span class="sd">    Overwrites lines which contain the given search string with the</span>
     1109<span class="sd">    substitution string.</span>
     1110
     1111<span class="sd">    Parameters</span>
     1112<span class="sd">    ----------</span>
     1113<span class="sd">    search_string : str</span>
     1114<span class="sd">        The string which is looked up for in the file.</span>
     1115
     1116<span class="sd">    sub_string : str</span>
     1117<span class="sd">        The string which overwrites the search string.</span>
     1118
     1119<span class="sd">    Return</span>
     1120<span class="sd">    ------</span>
     1121<span class="sd">    &quot;&quot;&quot;</span>
     1122    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
     1123        <span class="n">data</span> <span class="o">=</span> <span class="n">fio</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
     1124
     1125    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
     1126        <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
     1127            <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
     1128                <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">sub_string</span><span class="p">)</span>
     1129            <span class="k">else</span><span class="p">:</span>
     1130                <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
     1131
     1132    <span class="k">return</span></div>
     1133
    10741134</pre></div>
    10751135
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG