我有一个python脚本,运行在以下几种方式的三个文件 align.py * .wav * .txt * .TextGrid 但是,我有一个目录充满了我想要的文件依次通过。原作者建议创建一个shell脚本来遍历这些文件。 关于循环的棘手部分是,我需要一次匹配三个文件,并使用三种不同的扩展名来使脚本正确运行。 任何人都可以帮助我弄清楚如何创建一个shell脚本来遍历文件目录,根据名称(有三种不同的扩展名)匹配其中的三个,并在每个三元组上运行python脚本? 谢谢!UNIX shell脚本来调用python
0
A
回答
0
你可以使用glob.glob只列出wav
文件,然后构建subprocess.Popen
调用就像这样:
import glob
import os
import subprocess
for wav_name in glob.glob('*.wav'):
basename,ext = os.path.splitext(wav_name)
txt_name=basename+'.txt'
grid_name=basename+'.TextGrid'
proc=subprocess.Popen(['align.py',wav_name,txt_name,grid_name])
proc.communicate()
3
假设你正在使用bash,这里是一个班轮:
for f in *.wav; do align.py $f ${f%\.*}.txt ${f%\.*}.TextGrid; done
相关问题
- 1. 调用python来运行shell脚本
- 2. Unix Shell脚本
- 3. Shell脚本UNIX
- 4. Unix shell脚本
- 5. 如何从shell脚本调用另一个shell脚本的Unix
- 6. 方式调用UNIX shell脚本( “”, “源”)
- 7. SAS程序调用UNIX Bash Shell脚本
- 8. 从shell脚本调用python脚本cron
- 9. Unix shell脚本 - mailsend
- 10. UNIX shell脚本:UDV
- 11. shell脚本在UNIX
- 12. Unix Shell脚本(KSH)
- 13. 的Unix Shell脚本
- 14. Python Shell脚本。 Chain Unix OpenSSL命令
- 15. 在Unix shell中调用控制脚本的子脚本
- 16. UNIX脚本中的shell脚本错误
- 17. haskell和Unix shell脚本
- 18. 在单UNIX Shell脚本
- 19. Unix Shell脚本函数
- 20. Unix shell脚本错误
- 21. 逃避UNIX shell脚本
- 22. 的Unix shell脚本与反
- 23. 的Unix shell脚本错误
- 24. Shell脚本UNIX提示
- 25. 关于UNIX Shell脚本
- 26. UNIX shell脚本while循环
- 27. 没有从UNIX shell脚本
- 28. 无法在UNIX Shell脚本
- 29. 关于Unix shell脚本
- 30. shell脚本中的Unix substr?
如果每个TextGrid文件都有一个wave和txt文件,那么我只需修改python脚本来推断这两个文件的名称,并且只传递* .TextGrid列表。你可以改变python脚本吗? – DSimon 2011-02-02 21:12:42
请添加一些示例文件,以及您希望如何处理它们。你的问题没有充分描述你在找什么。 – chmullig 2011-02-02 21:15:02