Python 如何在所有xml文件上调用.py?
我在python脚本中调用Python 如何在所有xml文件上调用.py?,python,xml,operating-system,subprocess,sys,Python,Xml,Operating System,Subprocess,Sys,我在python脚本中调用.py来读取.xml文件。我的代码如下所示: import os import sys import subprocess subprocess.call(["python", "/home/sky/DBT/test.py", "--host=PC", "--file=/home/sky/data/myfile.xml"]) 对于单个.xml文件,它可以完美地工作。但是当我想在所有.xml文件上运行.py时,它就不起作用了。我试过这个循环: for f in ("
.py
来读取.xml
文件。我的代码如下所示:
import os
import sys
import subprocess
subprocess.call(["python", "/home/sky/DBT/test.py", "--host=PC", "--file=/home/sky/data/myfile.xml"])
对于单个.xml
文件,它可以完美地工作。但是当我想在所有.xml
文件上运行.py
时,它就不起作用了。我试过这个循环:
for f in ("/home/sky/data/*.xml"):
subprocess.call(["python", "/home/sky/DBT/test.py", "--host=PC", "--file=f"])
但它并不适用于我目录中的所有.xml
文件。我的代码有什么问题
谢谢试试:
import os
import sys
import subprocess
path = "/home/sky/data/"
for filename in os.listdir(path): #Iterate Your DIR
if filename.endswith(".xml"): #Check if file is XML
subprocess.call(["python", "/home/sky/DBT/test.py", "--host=PC", "--file=/home/sky/data/{0}".format(filename)]) #Execute Command
第一件事:
for filename in os.listdir(directory):
其中“directory”是您的文件夹,filename是您需要的文件。注意,您应该检查文件名是否为xml文件。您能告诉我如何在此代码中添加一个条件,以便只读取我的
/data/
目录中的新文件(按小时,例如24小时前)或上次执行时的文件吗@拉凯什