easymacro/doc/public/es/tools/paths/index.html

1377 lines
62 KiB
HTML

<!DOCTYPE html>
<html lang="es" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.101.0" />
<meta name="description" content="">
<link rel="icon" href="/easymacro/images/favicon.png" type="image/png">
<title>Rutas y archivos :: Documentación para EasyMacro</title>
<link href="/easymacro/css/nucleus.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/fontawesome-all.min.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/hybrid.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/featherlight.min.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/perfect-scrollbar.min.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/auto-complete.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/atom-one-dark-reasonable.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/theme.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/tabs.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/hugo-theme.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/theme-blue.css?1660707822" rel="stylesheet">
<link href="/easymacro/css/custom.css?1660707822" rel="stylesheet">
<script src="/easymacro/js/jquery-3.3.1.min.js?1660707822"></script>
<style>
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/easymacro/es/tools/paths/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a id="logo" href='/easymacro/es'>
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="100.000000pt" height="75.000000pt" viewBox="0 0 200.000000 150.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,149.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1181 1473 c-19 -10 -43 -30 -54 -45 -24 -32 -33 -110 -19 -160 5
-19 7 -40 3 -45 -5 -9 -83 -26 -106 -23 -5 1 -32 3 -60 6 -51 4 -133 28 -240
69 -34 13 -83 26 -110 30 -72 10 -118 21 -228 58 -83 27 -99 30 -107 18 -12
-21 4 -47 50 -77 21 -14 41 -32 44 -40 7 -18 66 -54 88 -54 10 0 44 -20 75
-44 51 -39 131 -76 165 -76 5 0 32 -16 58 -35 26 -19 53 -35 59 -35 12 0 14
-46 4 -133 -7 -61 -47 -112 -97 -120 -19 -3 -53 -18 -76 -33 -46 -31 -240
-268 -310 -381 -30 -48 -53 -74 -70 -78 -29 -8 -190 -169 -190 -190 0 -27 15
-16 87 63 41 45 87 85 110 96 30 13 50 34 84 89 24 39 95 136 157 214 113 143
171 193 220 193 27 0 86 52 100 87 6 16 12 68 15 116 l3 88 -30 16 c-17 9 -47
29 -67 44 -20 16 -47 29 -60 29 -36 1 -106 36 -159 80 -29 25 -58 40 -74 40
-18 0 -40 13 -64 38 -21 20 -51 47 -68 59 -27 21 -24 21 52 -6 45 -16 126 -37
180 -46 55 -10 116 -26 136 -35 21 -10 61 -23 90 -30 29 -7 62 -17 73 -23 18
-9 130 -28 165 -27 8 0 36 3 63 6 38 5 50 11 61 33 8 16 10 36 5 51 -43 145
73 260 167 166 34 -34 34 -34 34 -130 0 -85 -2 -96 -20 -106 -17 -9 -70 -87
-70 -103 0 -4 24 -7 54 -7 38 0 60 -6 79 -20 14 -11 39 -20 56 -20 33 0 151
-41 188 -66 12 -8 46 -23 75 -34 48 -18 184 -100 166 -100 -4 0 -22 6 -40 14
-78 33 -157 49 -217 43 -35 -4 -81 -1 -112 6 -30 7 -81 12 -114 12 l-60 -1
-45 -84 c-49 -93 -42 -85 -404 -435 -198 -192 -250 -234 -347 -288 -23 -13
-29 -21 -21 -29 7 -7 32 2 84 32 58 32 122 89 286 248 117 114 247 239 290
279 63 58 88 89 127 163 l49 92 70 -7 c39 -3 121 -10 181 -14 119 -9 166 -19
232 -46 94 -38 101 15 11 73 -90 58 -314 158 -372 167 -27 4 -60 14 -74 23
-14 9 -43 18 -65 22 l-41 5 38 38 c37 38 38 38 42 135 5 85 3 101 -15 129 -40
64 -111 87 -170 56z"/>
<path d="M1120 210 c0 -109 2 -130 15 -130 13 0 15 21 15 130 0 109 -2 130
-15 130 -13 0 -15 -21 -15 -130z"/>
<path d="M900 200 l0 -120 80 0 c64 0 80 3 80 15 0 12 -14 15 -65 15 l-65 0 0
45 0 45 60 0 c47 0 60 3 60 15 0 12 -13 15 -60 15 l-60 0 0 35 0 35 65 0 c37
0 65 4 65 10 0 6 -33 10 -80 10 l-80 0 0 -120z"/>
<path d="M1320 200 c0 -100 3 -120 15 -120 12 0 15 18 15 102 0 56 3 98 7 94
4 -3 18 -37 33 -74 34 -90 53 -90 89 0 14 36 30 70 34 74 4 4 7 -38 7 -94 0
-84 3 -102 15 -102 13 0 15 20 15 120 l0 120 -27 0 c-26 0 -31 -7 -59 -83
l-31 -82 -29 83 c-27 76 -31 82 -56 82 l-28 0 0 -120z"/>
<path d="M1628 263 c-10 -2 -18 -10 -18 -16 0 -8 16 -11 49 -9 41 3 51 0 60
-16 9 -18 6 -20 -35 -25 -48 -5 -84 -30 -84 -58 0 -54 43 -79 93 -54 20 10 33
12 35 5 2 -5 11 -10 19 -10 13 0 15 13 11 76 -3 65 -7 79 -27 95 -22 18 -63
23 -103 12z m97 -115 c-14 -48 -66 -62 -89 -25 -15 24 15 47 62 47 30 0 33 -2
27 -22z"/>
<path d="M1820 187 c0 -58 4 -77 18 -89 27 -24 48 -27 76 -13 14 8 26 10 26 4
0 -5 7 -9 15 -9 12 0 15 17 15 90 0 73 -3 90 -15 90 -12 0 -15 -14 -15 -64 0
-68 -14 -96 -49 -96 -31 0 -41 22 -41 92 0 54 -3 68 -15 68 -12 0 -15 -15 -15
-73z"/>
</g>
</svg>
</a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fas fa-search"></i></label>
<input data-search-input id="search-by" type="search" placeholder="Buscar...">
<span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
<script type="text/javascript" src="/easymacro/js/lunr.min.js?1660707822"></script>
<script type="text/javascript" src="/easymacro/js/auto-complete.js?1660707822"></script>
<script type="text/javascript">
var baseurl = "https:\/\/doc.cuates.net\/easymacro\/es";
</script>
<script type="text/javascript" src="/easymacro/js/search.js?1660707822"></script>
</div>
<section id="homelinks">
<ul>
<li>
<a class="padding" href='/easymacro/es'><i class='fas fa-home'></i> Inicio</a>
</li>
</ul>
</section>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/easymacro/es/installation/" title="Instalación" class="dd-item
">
<a href="/easymacro/es/installation/">
Instalación
</a>
</li>
<li data-nav-id="/easymacro/es/tools_debug/" title="Herramientas para depurar" class="dd-item
">
<a href="/easymacro/es/tools_debug/">
Herramientas para depurar
</a>
</li>
<li data-nav-id="/easymacro/es/tools/" title="Herramientas" class="dd-item
parent
">
<a href="/easymacro/es/tools/">
Herramientas
</a>
<ul>
<li data-nav-id="/easymacro/es/tools/messages/" title="Mensajes" class="dd-item
">
<a href="/easymacro/es/tools/messages/">
Mensajes
</a>
</li>
<li data-nav-id="/easymacro/es/tools/dates_and_time/" title="Fechas y tiempo" class="dd-item
">
<a href="/easymacro/es/tools/dates_and_time/">
Fechas y tiempo
</a>
</li>
<li data-nav-id="/easymacro/es/tools/paths/" title="Rutas y archivos" class="dd-item
active
">
<a href="/easymacro/es/tools/paths/">
Rutas y archivos
</a>
</li>
<li data-nav-id="/easymacro/es/tools/email/" title="Correo electrónico" class="dd-item
">
<a href="/easymacro/es/tools/email/">
Correo electrónico
</a>
</li>
<li data-nav-id="/easymacro/es/tools/threads/" title="Hilos" class="dd-item
">
<a href="/easymacro/es/tools/threads/">
Hilos
</a>
</li>
<li data-nav-id="/easymacro/es/tools/macros/" title="Ejecutar macros" class="dd-item
">
<a href="/easymacro/es/tools/macros/">
Ejecutar macros
</a>
</li>
<li data-nav-id="/easymacro/es/tools/timer/" title="Timer" class="dd-item
">
<a href="/easymacro/es/tools/timer/">
Timer
</a>
</li>
<li data-nav-id="/easymacro/es/tools/url/" title="URL" class="dd-item
">
<a href="/easymacro/es/tools/url/">
URL
</a>
</li>
<li data-nav-id="/easymacro/es/tools/utils/" title="Utilidades" class="dd-item
">
<a href="/easymacro/es/tools/utils/">
Utilidades
</a>
</li>
</ul>
</li>
<li data-nav-id="/easymacro/es/application/" title="LibreOffice" class="dd-item
">
<a href="/easymacro/es/application/">
LibreOffice
</a>
</li>
<li data-nav-id="/easymacro/es/documents/" title="Documentos" class="dd-item
">
<a href="/easymacro/es/documents/">
Documentos
</a>
</li>
<li data-nav-id="/easymacro/es/calc/" title="Calc" class="dd-item
">
<a href="/easymacro/es/calc/">
Calc
</a>
</li>
<li data-nav-id="/easymacro/es/dialog/" title="Cuadros de diálogo" class="dd-item
">
<a href="/easymacro/es/dialog/">
Cuadros de diálogo
</a>
</li>
</ul>
<section id="shortcuts">
<h3>Más</h3>
<ul>
<li>
<a class="padding" href="https://git.cuates.net/elmau/easymacro"><i class='fab fa-gitlab'></i> Git Repo</a>
</li>
</ul>
</section>
<section id="prefooter">
<hr/>
<ul>
<li>
<a class="padding">
<i class="fas fa-language fa-fw"></i>
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="es" value="https://doc.cuates.net/easymacro/es/tools/paths/" selected>Español</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</li>
</ul>
</section>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fas fa-heart"></i></a> from <a href="https://getgrav.org">Grav</a> and <a href="https://gohugo.io/">Hugo</a></p>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fas fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fas fa-list-alt"></i></span>
<span class="links">
<a href='/easymacro/es/'></a> > <a href='/easymacro/es/tools/'>Herramientas</a> > Rutas y archivos
</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li></li>
<li><a href="#path">path</a></li>
<li><a href="#home">home</a></li>
<li><a href="#documents">documents</a></li>
<li><a href="#user_profile">user_profile</a></li>
<li><a href="#user_config">user_config</a></li>
<li><a href="#python">python</a></li>
<li><a href="#to_system">to_system</a></li>
<li><a href="#to_url">to_url</a></li>
<li><a href="#config">config</a></li>
<li><a href="#join">join</a></li>
<li><a href="#exists">exists</a></li>
<li><a href="#exists_app">exists_app</a></li>
<li><a href="#is_dir">is_dir</a></li>
<li><a href="#is_file">is_file</a></li>
<li><a href="#temp_file">temp_file</a></li>
<li><a href="#temp_dir">temp_dir</a></li>
<li><a href="#get">get</a></li>
<li><a href="#get_dir">get_dir</a></li>
<li><a href="#get_for_save">get_for_save</a></li>
<li><a href="#files">files</a></li>
<li><a href="#walk">walk</a></li>
<li><a href="#dirs">dirs</a></li>
<li><a href="#walk_dirs">walk_dirs</a></li>
<li><a href="#extension">extension</a></li>
<li><a href="#replace_ext">replace_ext</a></li>
<li><a href="#open">open</a></li>
<li><a href="#save-y-read">save y read</a></li>
<li><a href="#save_bin-y-read_bin">save_bin y read_bin</a></li>
<li><a href="#save_json-y-read_json">save_json y read_json</a></li>
<li><a href="#save_csv-y-read_csv">save_csv y read_csv</a></li>
<li><a href="#kill">kill</a></li>
<li><a href="#copy">copy</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="head-tags">
</div>
<div id="body-inner">
<h1>
Rutas y archivos
</h1>
<h4 id="trabajar-con-rutas-y-archivos">Trabajar con rutas y archivos.</h4>
<h3 id="path">path</h3>
<p>Obtener información de una ruta.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta_archivo <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths(ruta_archivo)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>path)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>file_name)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>name)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>ext)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>size)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>url)
</span></span></code></pre></div><pre tabindex="0"><code>15/08/2022 14:40:08 - DEBUG - /home/mau
15/08/2022 14:40:08 - DEBUG - mi_archivo.ods
15/08/2022 14:40:08 - DEBUG - mi_archivo
15/08/2022 14:40:08 - DEBUG - ods
15/08/2022 14:40:08 - DEBUG - 7011
15/08/2022 14:40:08 - DEBUG - file:///home/mau/mi_archivo.ods
</code></pre><p>Obtener la misma información como un tupla.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta_archivo <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths(ruta_archivo)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>info)
</span></span></code></pre></div><pre tabindex="0"><code>15/08/2022 14:43:01 - DEBUG - (&#39;/home/mau&#39;, &#39;mi_archivo.ods&#39;, &#39;mi_archivo&#39;, &#39;ods&#39;, 7011, &#39;file:///home/mau/mi_archivo.ods&#39;)
</code></pre><p>O como diccionario.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta_archivo <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths(ruta_archivo)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>dict)
</span></span></code></pre></div><pre tabindex="0"><code>15/08/2022 14:43:01 - DEBUG - {&#39;path&#39;: &#39;/home/mau&#39;, &#39;file_name&#39;: &#39;mi_archivo.ods&#39;, &#39;name&#39;: &#39;mi_archivo&#39;, &#39;ext&#39;: &#39;ods&#39;, &#39;size&#39;: 7011, &#39;url&#39;: &#39;file:///home/mau/mi_archivo.ods&#39;}
</code></pre><h3 id="home">home</h3>
<p>Obtener la carpeta de inicio del usuario.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>home)
</span></span></code></pre></div><h3 id="documents">documents</h3>
<p>Obtener la carpeta Documentos del usuario.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>documents)
</span></span></code></pre></div><h3 id="user_profile">user_profile</h3>
<p>Obtener la ruta del perfil de usuario.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>user_profile)
</span></span></code></pre></div><h3 id="user_config">user_config</h3>
<p>Obtener la ruta de la carpeta <code>config</code> en el perfil de usuario.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>user_config)
</span></span></code></pre></div><h3 id="python">python</h3>
<p>Obtener la ruta del ejecutable <code>python</code></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>python)
</span></span></code></pre></div><h3 id="to_system">to_system</h3>
<p>Pasar una ruta en formato URL al formato del sistema de archivos del SO.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta_url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;file:///home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>to_system(ruta_url)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="to_url">to_url</h3>
<p>Pasar una ruta del sistema de archivos del SO al formato URL.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>ruta_url <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>to_url(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta_url)
</span></span></code></pre></div><h3 id="config">config</h3>
<p>Obtener rutas de la configuración de LibreOffice. Por default obtiene la ruta de <code>Documentos</code>, para otras ruta mire <a href="http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1util_1_1XPathSettings.html">Api XPathSettings</a></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>config()
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>config(<span style="color:#e6db74">&#39;UserConfig&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div>
<div class="notices tip" ><p>Algunas rutas pueden ser más de una, separados por <code>;</code>, en este caso, el resultado es una lista con las rutas.</p>
</div>
<h3 id="join">join</h3>
<p>Concatenar rutas.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>join(<span style="color:#e6db74">&#39;/home/mau&#39;</span>, <span style="color:#e6db74">&#39;pruebas&#39;</span>, <span style="color:#e6db74">&#39;archivo.ods&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="exists">exists</h3>
<p>Verificar si una ruta existe.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>exists(<span style="color:#e6db74">&#39;/home/mau/test/archivo.ods&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(resultado)
</span></span></code></pre></div><h3 id="exists_app">exists_app</h3>
<p>Verificar si una aplicación existe.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>exists_app(<span style="color:#e6db74">&#39;noexiste&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(resultado)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>exists_app(<span style="color:#e6db74">&#39;soffice&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(resultado)
</span></span></code></pre></div><h3 id="is_dir">is_dir</h3>
<p>Verificar si la ruta es un directorio.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>is_dir(<span style="color:#e6db74">&#39;/home/mau&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(resultado)
</span></span></code></pre></div><h3 id="is_file">is_file</h3>
<p>Verificar si la ruta es un archivo.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>is_file(<span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(resultado)
</span></span></code></pre></div><h3 id="temp_file">temp_file</h3>
<p>Crear un archivo temporal, es borrado automáticamente al cerrarse.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>f <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>temp_file()
</span></span><span style="display:flex;"><span>f<span style="color:#f92672">.</span>write(app<span style="color:#f92672">.</span>INFO_DEBUG)
</span></span><span style="display:flex;"><span>f<span style="color:#f92672">.</span>close()
</span></span></code></pre></div><p>Usado en <code>contexto</code>, se cierra automáticamente.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">with</span> p<span style="color:#f92672">.</span>temp_file() <span style="color:#66d9ef">as</span> f:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(f<span style="color:#f92672">.</span>name)
</span></span><span style="display:flex;"><span> f<span style="color:#f92672">.</span>write(<span style="color:#e6db74">&#39;test&#39;</span>)
</span></span></code></pre></div><h3 id="temp_dir">temp_dir</h3>
<p>Crear un directorio temporal, al salir del contexto, es eliminado junto con todo su contenido del sistema de archivos.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">with</span> p<span style="color:#f92672">.</span>temp_dir() <span style="color:#66d9ef">as</span> d:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>exists(d))
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(d)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(p<span style="color:#f92672">.</span>exists(d))
</span></span></code></pre></div><h3 id="get">get</h3>
<p>Permitir al usuario seleccionar archivos, devuelve solo la ruta. De forma predeterminada abre en la carpeta <code>Documentos</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get()
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Establecer que abra en otro directorio.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get(<span style="color:#e6db74">&#39;/tmp&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Agregar un filtro.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get(filters<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;ods&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Agregar multiples filtros.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get(filters<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;xml,txt&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Permitir selecciones multiples.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get(filters<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;xml,txt&#39;</span>, multiple<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="get_dir">get_dir</h3>
<p>Permitir al usuario seleccionar un directorio, devuelve solo la ruta. De forma predeterminada abre en la carpeta <code>Documentos</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get_dir()
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Establecer que abra en otro directorio.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get_dir(<span style="color:#e6db74">&#39;/tmp&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="get_for_save">get_for_save</h3>
<p>Permitir seleccionar un directorio y capturar el nombre del archivo, devuelve la ruta completa.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get_for_save()
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Establecer que inicie en otro directorio.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get_for_save(<span style="color:#e6db74">&#39;/tmp&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Si se establece un filtro, automáticamente se agrega la extensión.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>get_for_save(filters<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;txt&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="files">files</h3>
<p>Obtener archivos de una ruta, no recursivamente. De forma predeterminada regresa todos, incluyendo archivos ocultos.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau&#39;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>files(ruta)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> a <span style="color:#f92672">in</span> archivos:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(a)
</span></span></code></pre></div><p>Filtrar por tipo de archivo.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>files(ruta, <span style="color:#e6db74">&#39;*.pdf&#39;</span>)
</span></span></code></pre></div><p>Obtener archivos de forma recursiva.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>files(ruta, <span style="color:#e6db74">&#39;**/*.xml&#39;</span>)
</span></span></code></pre></div><h3 id="walk">walk</h3>
<p>Obtener archivos de forma recursiva.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/Documents&#39;</span>
</span></span><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>walk(ruta)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> a <span style="color:#f92672">in</span> archivos:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(a)
</span></span></code></pre></div><p>Con filtro.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>walk(ruta, <span style="color:#e6db74">&#39;ods&#39;</span>)
</span></span></code></pre></div><p>Con filtros.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>archivos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>walk(ruta, <span style="color:#e6db74">&#39;ods|odt&#39;</span>)
</span></span></code></pre></div><h3 id="dirs">dirs</h3>
<p>Obtener los directorios de una ruta, no recursivamente.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/Documents&#39;</span>
</span></span><span style="display:flex;"><span>folders <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>dirs(ruta)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> f <span style="color:#f92672">in</span> folders:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(f)
</span></span></code></pre></div><h3 id="walk_dirs">walk_dirs</h3>
<p>Obtener los directorios de una ruta, no recursivamente.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/Documents&#39;</span>
</span></span><span style="display:flex;"><span>folders <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>walk_dirs(ruta)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> f <span style="color:#f92672">in</span> folders:
</span></span><span style="display:flex;"><span> app<span style="color:#f92672">.</span>debug(f)
</span></span></code></pre></div><p>Obtener información en una lista de tuplas: (ID_FOLDER, ID_PADRE, NOMBRE)</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>folders <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>walk_dirs(ruta, <span style="color:#66d9ef">True</span>)
</span></span></code></pre></div><h3 id="extension">extension</h3>
<p>Obtener la ruta de instalación de una extensión a partir de su ID.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>id_ext <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;net.elmau.zaz.talk&#39;</span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>extension(id_ext)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><h3 id="replace_ext">replace_ext</h3>
<p>Reemplazar extensión de un archivo.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/mi_archivo.ods&#39;</span>
</span></span><span style="display:flex;"><span>ruta_nueva <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>replace_ext(ruta, <span style="color:#e6db74">&#39;pdf&#39;</span>)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta_nueva)
</span></span></code></pre></div><h3 id="open">open</h3>
<p>Abrir cualquier archivo con el programas predeterminado del SO.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/archivo.pdf&#39;</span>
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>open(ruta)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/index.html&#39;</span>
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>open(ruta)
</span></span></code></pre></div><h3 id="save-y-read">save y read</h3>
<p>Guardar y leer datos, el encoding predeterminado es UTF8.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;&#34;&#34;¿Quieres saber quién eres? No preguntes. Actúa.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">La acción te delineará y definirá.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Thomas Jefferson
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/temp.txt&#39;</span>
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>save(ruta, datos)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>read(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>msgbox(datos)
</span></span></code></pre></div><p>Cambiar el encoding.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>app<span style="color:#f92672">.</span>paths<span style="color:#f92672">.</span>save(ruta, datos, <span style="color:#e6db74">&#39;iso-8859-1&#39;</span>)
</span></span></code></pre></div><h3 id="save_bin-y-read_bin">save_bin y read_bin</h3>
<p>Guardar y leer datos binarios.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#39;Datos binarios&#39;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/temp.bin&#39;</span>
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>save_bin(ruta, datos)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>read_bin(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>msgbox(datos)
</span></span></code></pre></div><h3 id="save_json-y-read_json">save_json y read_json</h3>
<p>Guardar y leer en formato json.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/datos.json&#39;</span>
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#39;tipo&#39;</span>: <span style="color:#e6db74">&#39;calc&#39;</span>,
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#39;nombre&#39;</span>: <span style="color:#e6db74">&#39;miarchivo.ods&#39;</span>,
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>save_json(ruta, datos)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>read_json(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>msgbox(datos)
</span></span></code></pre></div><h3 id="save_csv-y-read_csv">save_csv y read_csv</h3>
<p>Exportar e importar datos en formato CSV. Vea la documentación <a href="https://docs.python.org/3.7/library/csv.html">CSV</a> para los argumentos que puede usar.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/datos.csv&#39;</span>
</span></span><span style="display:flex;"><span>ahora <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>dates<span style="color:#f92672">.</span>now
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span> (<span style="color:#ae81ff">1</span>, <span style="color:#e6db74">&#39;uno&#39;</span>, ahora),
</span></span><span style="display:flex;"><span> (<span style="color:#ae81ff">2</span>, <span style="color:#e6db74">&#39;dos&#39;</span>, ahora),
</span></span><span style="display:flex;"><span> (<span style="color:#ae81ff">3</span>, <span style="color:#e6db74">&#39;tres&#39;</span>, ahora),
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>p<span style="color:#f92672">.</span>save_csv(ruta, datos)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>datos <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>read_csv(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>msgbox(datos)
</span></span></code></pre></div><h3 id="kill">kill</h3>
<p>Borra archivos o directorios con todo su contenido. Devuelve verdadero (True) en caso de exito y falso (Falso) en cualquier otro caso.</p>
<div class="notices warning" ><p>Este proceso es destructivo, es buena practica siempre solicitar confirmación al usuario.</p>
</div>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/temp.bin&#39;</span>
</span></span><span style="display:flex;"><span>resultado <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>kill(ruta)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>msgbox(resultado)
</span></span></code></pre></div><h3 id="copy">copy</h3>
<p>Copiar archivos. Devuelve la ruta completa final destino.</p>
<p>De un origen a una carpeta destino</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>p <span style="color:#f92672">=</span> app<span style="color:#f92672">.</span>paths
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ruta_origen <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/temp.txt&#39;</span>
</span></span><span style="display:flex;"><span>ruta_destino <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/Desktop&#39;</span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>copy(ruta_origen, ruta_destino)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div><p>Cambiar el nombre destino.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>ruta_origen <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/temp.txt&#39;</span>
</span></span><span style="display:flex;"><span>ruta_destino <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/home/mau/Desktop&#39;</span>
</span></span><span style="display:flex;"><span>nuevo_nombre <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;datos.csv&#39;</span>
</span></span><span style="display:flex;"><span>ruta <span style="color:#f92672">=</span> p<span style="color:#f92672">.</span>copy(ruta_origen, ruta_destino, nuevo_nombre)
</span></span><span style="display:flex;"><span>app<span style="color:#f92672">.</span>debug(ruta)
</span></span></code></pre></div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/easymacro/es/tools/dates_and_time/" title="Fechas y tiempo"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/easymacro/es/tools/email/" title="Correo electrónico" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="/easymacro/js/clipboard.min.js?1660707822"></script>
<script src="/easymacro/js/perfect-scrollbar.min.js?1660707822"></script>
<script src="/easymacro/js/perfect-scrollbar.jquery.min.js?1660707822"></script>
<script src="/easymacro/js/jquery.sticky.js?1660707822"></script>
<script src="/easymacro/js/featherlight.min.js?1660707822"></script>
<script src="/easymacro/js/highlight.pack.js?1660707822"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/easymacro/js/modernizr.custom-3.6.0.js?1660707822"></script>
<script src="/easymacro/js/learn.js?1660707822"></script>
<script src="/easymacro/js/hugo-learn.js?1660707822"></script>
<script src="/easymacro/mermaid/mermaid.js?1660707822"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>