Q:

Using python and ArcPy to read multiple files, apply a function and write into new a directry

I haven't used python yet; I want to read multiple GeoTiff files and resample them based on another single file, and be able to write all the files in a new directory. I can use R raster package to that, but it takes a long time. Here is what I do in R and I want to be able to do the exact process in Python using ArcPy module.
    setwd("path to directory")
    files <- list.files(path=".", pattern="tif", all.files=FALSE, full.names=TRUE) 
    s <- stack(files)
    resamp <- raster("new_raster.tif")
    s2 <- resample(s, resamp,method='bilinear')
    s3 <- unstack(s2)
    setwd("new_directory)
    for(i in seq_along(s3)){writeRaster(s3[[i]], file=outputnames[i],format="GTiff", options=c("INTERLEAVE=BAND","COMPRESS=NONE"))}

A:

This process involves creating a list of your rasters and instantiating a for loop to resample each raster in your list.
A python script using arcpy methods would look SOMETHING like this:
import arcpy
arcpy.env.workspace = <rasterDirectory>
outDir = <output directory>
RstList = arcpy.ListRasters("*", "TIFF")
xResult= arcpy.GetRasterProperties(<in_rst>, "CELLSIZEX")
yResult= arcpy.GetRasterProperties(<in_rst>, "CELLSIZEY")
x = xResult.getOutput(0)
y = yResult.getOutput(0)
for Rst in RstList:

       arcpy.Resample_management(Rst, outDir+arcpy.Describe(Rst).name, x y, "BILINEAR")

