Python中文
首页
教程
问答
标签
搜索
登录
注册
多次调用同一函数的最佳实践是什么
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我是Python新手,我正在尝试编写一些东西,可以获取位于不同目录中的文件并解压缩它们(*.Z文件)。我正在尝试理解在不重复下面代码的情况下执行此操作的最佳方法。但是,除了为每个文件再次添加同一行之外,是否可以为每个文件名以某种方式循环该行?例如,一个文件可能位于/root/xxx/yyy.Z中,另一个文件位于/root/xxx/zzz.Z和/root/xxx/aaa.Z中</p> <p>我可以使用指向每个目录的参数来运行这个函数,但这感觉很笨拙,但仍然有效</p> <pre><code>def UnzipFiles(pathtofile1,pathtofile2,pathtofile3): for filename in os.listdir(pathtofile1): if filename.endswith(".Z"): retcode = subprocess.call(['gunzip', pathtofile1]) else: if retcode != 0: raise IOError('unzipfiles exited with code %d' % retcode) for filename in os.listdir(pathtofile2): if filename.endswith(".Z"): retcode = subprocess.call(['gunzip', pathtofile1]) else: if retcode != 0: raise IOError('unzipfiles exited with code %d' % retcode) for filename in os.listdir(pathtofile3): if filename.endswith(".Z"): retcode = subprocess.call(['gunzip', pathtofile3]) else: if retcode != 0: raise IOError('unzipfiles exited with code %d' % retcode) </code></pre> <p>我必须澄清一些我在最初的帖子中没有提到的事情。(1) .Z文件组是它们自己的目录,例如一组文件位于/root/xxx/yyy.Z中,另一组文件位于/root/yyy/zzz.Z和/root/aaa/aaa.Z中。所以我需要循环浏览三个不同的目录。(2)大约有20个左右的文件正在解压缩。这项活动最多每月进行一次</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>只需更改1个输入文件的代码并选中os walk(),然后就可以使用<code>map()</code>传递文件列表</p> <pre><code>results = list(map(UnzipFiles, [list of files])) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
10 回答
如何在乒乓球游戏中阻止球
6 回答
如何在乘法和模中不乘空间?
7 回答
如何在乘法和除以2个不同的数字之间进行交换?
7 回答
如何在也是数据一部分的单个字符上拆分大字符串
7 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
6 回答
如何在事件wxWidgets中传递自定义数据
4 回答
如何在事件中使用lambda i=i?
2 回答
如何在事件中心只接收最近的数据
4 回答
如何在事件发生之前保持云函数运行?
7 回答
如何在事件发生后使页面重定向到同一页面
8 回答
如何在事件回调之间保持python生成器的状态
5 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
8 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
6 回答
如何在事件处理程序中访问外部对象?
4 回答
如何在事件循环中将协程打包为正常函数?
3 回答
如何在事件循环之外运行协同程序?
1 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
10 回答
如何在事件文件中只保留一份摘要?
1 回答
如何在事件模板中添加事件
6 回答