2022年 11月 4日

python批处理工具_如何用python批量处理!python批处理教程

如何用python批量处理

def GetFileList(dir, fileList,notdeal=[]):

newDir = dir    if os.path.isfile(dir):

fileList.append(dir)    elif os.path.isdir(dir):        for s in os.listdir(dir):            #如要忽略某些文件夹,使用以下代码

if s in notdeal:                continue

newDir = os.path.join(dir, s)

GetFileList(newDir, fileList,notdeal)    return fileListdef pushFileinFold(filename,foldname,createpath=False):

retname=”

names=filename.split(‘/’)    if foldname[0]==’/’:

retname=foldname    else:        for i in range(len(names)-1):

retname =retname names[i] ‘/’

retname =foldname    if createpath==True:        if os.path.exists(retname)==False:

os.makedirs(retname)            # print(retname ‘/’  names[len(names) – 1])

return retname  ‘/’  names[len(names) – 1]

filepath = “/home/b/a”lists = GetFileList(filepath, [],[‘deal’,’python’])for i in range(len(lists)):

globals()[‘data’ str(i)]=pd.read_csv(lists[i],header=None)

#对进行处理

globals()[‘data’ str(i)].to_excel(pushFileinFold(lists[i],’deal’,True))

如何使用python写批处理

import subprocess

import sys

ret = subprocess.check_call([‘ls’, ‘-l’])

if ret != 0:

# something wrong! To deal with the exception

sys.exit(ret)

ret = subprocess.check_call([‘rm’, ‘-f’, ‘file_to_delete’])

if ret != 0:

# similar to the above

#……

用批处理或者python实现window中运行窗口输入的命令

可以直接用python调用系统命令实现

批处理的ArcGIS中的批处理

可别告您不知道什么是批,当面对一大堆需要重复操作的数,往往让我们感到头这时候我们会想到批处理 ,那ArcGIS给大家提供了哪些批处理的方法呢,让我们拭目以待。

假设我们需要给道路建立缓冲区,设计到的工具为Buffer。

第一种情况,一个图层中不同要素建立不同大小的缓冲区

不同类型的道路,我们需要建立不同大小的缓冲区,比如,一级道路建立10米的缓冲区,二级道路建立15米的缓冲区,三级道建立20米的缓冲区。

步骤:

1、 首先应该保证你的道路数据里面有一个属性字段是用来存储Buffer宽度信息的。

2、 应用Buffer工具,在对应的参数位置选择相应字段即可。

第二种情况,不同的图层建立不同大小的缓冲区

假设还有其他不同的数据,不仅仅是道路,这些图层都需要建立缓冲区。

步骤:

1、 找到Buffer工具,右键,选择Batch,打开批处理面板。从该面板上我们可以发现,参数与我们打开Buffer的参数是一样的,这个时候是不是可以考虑在EXCEL中批量编辑好,然后复制过来呢

2、 在Excel中编辑需要的数据。

3、 将在Excel中编辑的数据复制到Buffer的批处理面板中来。此处需要注意,如果要复制10行数据,需要在批处理面板中先选中10行,右键单击,选择“paste”。

4、 点击OK即可。

如果想要每个图层中每种类型的数据的缓冲区宽度都不一样,该怎样处理的?这个留给您来尝试吧,原理很简单,就是找到参数位置,写上对应的字段即可。

第三种情况,Python实现批处理

如果您觉得上面的方法比较麻烦,而且要求也比较严格,您可以考虑应用Python来处理。

步骤:

1、 编写代码

import arcpy,os

inFCs = arcpy.GetParameterAsText(0)

outWS = arcpy.GetParameterAsText(1)

dist = arcpy.GetParameterAsText(2)

inFCs = inFCs.split(;)

for inFC in inFCs:

fileName =os.path.split(inFC)[1]

arcpy.Buffer_analysis(inFC,outWS \\ fileName, str(dist) meter)

上面这段代码,要求用户自己设置输入数据、输出数据、缓冲区宽度(单位为米)。这里输出缓冲区数据的名称和输入数据的名称一样,如果不想要这样,可以进一步修改代码。

2、 接下来将该代码增加到ArcToolbox中,步骤比较简单,这里不再赘述。

需要注意的地方为最后的参数设置部分,”输入数据”的“MutiValue”属性设置为”Yes”。(此部分的参数设置较条条框框较多,需要与你的代码相互对照)

3、 完成后,工具将会添加到您自己的工具箱中。打开该工具,您会看到界面像普通工具的界面一样,输入数据可以设置很多个,但是这个工具所有图层的缓冲区大小必须一样。

python怎么执行bat文件并传递参数给bat文件

使用os模块的system方法可以执行命令,例如执行D盘的cmd.bat批处理脚本并传入参数p1:import os

os.system(r’D:\cmd.bat p1′)

在python中调用执行已有的批处理命令

os.system或者subprocess.Popen之类的都可以.后者控制性更好

关于在python中使用os.system运行批处理.bat文件

第一个后并没有结因为随着执行返回,当前目录就改变了。

第二个可换当前目录。

第三个跟第二个配合使用应该可以。或者用 os.path.join(DstDir,’test.bat’) 来直接引用绝对路径

python自动运行cmd,bat文件

python编码cmd批处理(.bat文件),用subprocess方法可相应的cmd输出获取代码如下:#import os#os.system

(“c:\\sam.bat”)import subprocesscmd = ‘cmd.exe c:\\sam.bat’p = subprocess.

Popen(“cmd.exe /c” “c:\\sam.bat abc”, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

curline = p.stdout.readline()while(curline != b”):    print(curline)urline = p.stdout.readline()

p.wait()print(p.returncode)sam.bat批处理文件代码:echo Hello world!echo show %1%

扩展资料

在批处理.bat文件用通过这样的语句调用explorer.exe C:\xxx也可以使用用python的os库可以实现代码如下:import osos.system(r”explorer.exe C:\\xxx”)

即打开c盘的xxx文件夹,针对你的情况可以将这里改成你对应的路径os.system(r”explorer.exe \\10.9.40.22\新建文件夹”) 就行了。

参考资料;百科-命令提示符

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。