Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否在每个循环的相应文件夹中导出?_Python_Loops - Fatal编程技术网

Python 是否在每个循环的相应文件夹中导出?

Python 是否在每个循环的相应文件夹中导出?,python,loops,Python,Loops,我有一个目录列表 shapelist 这包括: ['C:\\Users\\user\\Desktop\\etg\\v1\\ASTENOT\\ASTENOT.shp', 'C:\\Users\\user\\Desktop\\etg\\v2\\ASTENOT\\ASTENOT.shp', 'C:\\Users\\user\\Desktop\\etg\\v3\\ASTENOT\\ASTENOT.shp', 'C:\\Users\\user\\Desktop\\etg\\v4\\ASTENOT

我有一个目录列表

shapelist 
这包括:

['C:\\Users\\user\\Desktop\\etg\\v1\\ASTENOT\\ASTENOT.shp',
 'C:\\Users\\user\\Desktop\\etg\\v2\\ASTENOT\\ASTENOT.shp',
 'C:\\Users\\user\\Desktop\\etg\\v3\\ASTENOT\\ASTENOT.shp',
 'C:\\Users\\user\\Desktop\\etg\\v4\\ASTENOT\\ASTENOT.shp']
我希望在每个循环中使用上面列表中位于单独文件夹中的每个
ASTENOT

我已经解决了这一部分

问题是如何将每个结果导出到每个输入(所使用的每个循环中的每个
ASTENOT
)所在的相应文件夹中

例如: 我在循环中使用这个特定的函数

arcpy.FeatureToLine_management(['ASTENOT'],'ASTENOT_lines')
['ASTENOT]
位置用于输入和输出
'ASTENOT_line'
用于函数的输出。 如何将输出导出到每个相应输入的文件夹中

示例:要在
v1\\ASTENOT\\
位置导出的第一个循环的
ASTENOT\u行
,在
v2\\ASTENOT\\\
位置导出第二个循环,依此类推

我的尝试:

for i in shapelist:
    arcpy.FeatureToLine_management([i],'ASTENOT_lines')

但是导出当前工作目录中的所有内容,而不是每个循环中输入的相应文件夹中的所有内容。

您可以将绝对路径传递给
FeatureToLine\u管理
方法

只需将输入路径中的
ASTENOT.shp
替换为
ASTENOT\u行即可生成绝对路径

因此,您可以将代码更改为

for i in shapelist:
    outputfile = i.replace('ASTENOT.shp', 'ASTENOT_lines')
    arcpy.FeatureToLine_management([i], outputfile)

尝试为输出使用绝对路径。例如
arcpy.FeatureToLine_管理([i],i.replace('ASTENOT.shp','ASTENOT_行'))
您能解释更多吗?根据您的描述,我假设
FeatureToLine_管理
方法的第二个参数是写入输出文件的路径。我建议提供一条绝对路径。例如,第一个文件的
C:\\Users\\user\\Desktop\\etg\\v1\\ASTENOT\\ASTENOT\u行
。你应该回答这个问题,我会接受的。谢谢汉克斯,我很高兴能帮助你