快速说明:这是在windows环境中。
我正在研究一个脚本,以在共享驱动器中的所有文件和文件夹上运行femzip。我有一个做类似事情的批处理文件。问题是,它取决于run1
文件夹。无论如何,我想知道如何让Python运行该exe并引用pfile
?
我将发布批处理脚本以及到目前为止的内容。到目前为止,我应该检查所有文件和文件夹。我要压缩的文件不是完整文件,而是整个文件的一部分。目的是检查文件是否存在,使用femzip将其压缩(必须使用femzip,gzip Python模块将无法使用),如果没有,则忽略并移至下一个文件夹。
从批处理文件翻译:
set back=%cd%
set FEMZIPEXE=C:\FEMZIP\FEMZIP_8.68_dyna_NO_OMP_Windows_VS2008_MT_x64\femzip_dyna.exe
set FEMZIPPROFILE=C:\FEMZIP\FEMZIP_8.68_dyna_NO_OMP_Windows_VS2008_MT_x64\EVZ_lsdyna_femzip_181115.pfile
for /d %%i in (D:\RESCALE_RESULTS\*) do (cd "%%i\run1" & call %FEMZIPEXE% -Id3plot -OZd3plot -L4 -C%FEMZIPPROFILE% )
cd %back%
pause
到目前为止我拥有的Python代码:
import sys
import os
import subprocess
#going to use the os module to check file and folders in windows
count = 0
for (dirname, dir, files) in os.walk('.'):
for filename in files:
if filename.startswith('d3plot'):
count = count + 1
if filename.startswith('d3plot'):
subprocess.Popen([r"C:\FEMZIP\FEMZIP_8.68_dyna_NO_OMP_Windows_VS2008_MT_x64\femzip_dyna.exe"])
subprocess.Popen([r"C:\FEMZIP\FEMZIP_8.68_dyna_NO_OMP_Windows_VS2008_MT_x64\EVZ_lsdyna_femzip_181115.pfile"])
else:
break