如何在Python中增加输出文件名

2024-09-20 22:21:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个可以工作的脚本,但是当我第二次运行它时就不行了,因为它一直保存输出文件名。一般来说,我对Python和编程都很陌生,所以愚蠢的你会回答…然后再让他们再笨一些。:)

arcpy.gp.Spline_sa("Observation_RegionalClip_Clip", "observatio", "C:/Users/moshell/Documents/ArcGIS/Default.gdb/Spline_shp16", "514.404", "REGULARIZED", "0.1", "12")

其中Spline_shp16是输出文件名,我希望下次运行脚本时将其另存为Spline_shp17,然后在以后的时间Spline_shp18,依此类推


Tags: 脚本clip文件名编程sauserssplinegp
1条回答
网友
1楼 · 发布于 2024-09-20 22:21:05

如果要在文件名中使用数字,可以检查该目录中已存在哪些同名文件,取最大的一个,然后按1递增。然后将这个新数字作为变量传递到文件名的字符串中。在

例如:

import glob
import re

# get the numeric suffixes of the appropriate files
file_suffixes = []
for file in glob.glob("./Spline_shp*"):
    regex_match = re.match(".*Spline_shp(\d+)", file)
    if regex_match:
        file_suffix = regex_match.groups()[0]
        file_suffix_int = int(file_suffix)
        file_suffixes.append(file_suffix_int)


new_suffix = max(file_suffixes) + 1 # get max and increment by one
new_file = f"C:/Users/moshell/Documents/ArcGIS/Default.gdb/Spline_shp{new_suffix}" # format new file name

arcpy.gp.Spline_sa(
    "Observation_RegionalClip_Clip",
    "observatio",
    new_file,
    "514.404",
    "REGULARIZED",
    "0.1",
    "12",
)

或者,如果您只想创建唯一的文件名,以便不会覆盖任何内容,您可以在文件名的末尾附加一个时间戳。因此,文件名为“Spline_shp-1551375142”,例如:

^{pr2}$

相关问题 更多 >

    热门问题