Python 如何根据正在使用的文件夹更改文件路径?
每次我运行程序时,我都试图使此代码中的Python 如何根据正在使用的文件夹更改文件路径?,python,excel,openpyxl,arcpy,Python,Excel,Openpyxl,Arcpy,每次我运行程序时,我都试图使此代码中的in_features路径不同,我处理了os.listdir(“./content”),但没有很好的结果,也就是说,我需要的是每次运行程序时in_features都会根据使用的文件夹进行更改,例如,路径更改后,我可以选择该文件 import arcpy import openpyxl as px def main(): wb = px.load_workbook(r"C:\Users\Hp\Desktop\Ejemplo\VINCULAC
in_features
路径不同,我处理了os.listdir(“./content”)
,但没有很好的结果,也就是说,我需要的是每次运行程序时in_features
都会根据使用的文件夹进行更改,例如,路径更改后,我可以选择该文件
import arcpy
import openpyxl as px
def main():
wb = px.load_workbook(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsm", read_only=False, keep_vba=True)
ws = wb['VINCULACION_SH_NUE']
in_features = r"C:\Users\Hp\Desktop\Ejemplo\VH_Dissolve.shp"
row_num = 3
with arcpy.da.SearchCursor(
in_features,
["COLOR", "INTERNO_DE", "CLASE_DEMA", "COUNT_AREA", "SUM_AREA", "SUM_LENGTH"],
) as cursor:
for row in cursor:
ws.cell(row=row_num, column=2).value = row[0]
row_num += 1
wb.save(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsm")
if __name__ == "__main__":
main()
为了动态获取脚本当前运行的目录的路径,您可以尝试以下操作:
从pathlib导入路径
in_feature=str(路径(_file__;).parent/Path(“VH_dissole.shp”))
因此,如果您的脚本是从“C:\Users\NewDir\ejempo”运行的,则功能中的
值将自动为C:\Users\NewDir\ejempo\VH\u dissole.shp
谢谢@Laurent,它按预期工作,我可以给它很多用途。