You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中根据flag控制路径拼接,实现不同目录流程执行?

解决方案

直接调整path_str的赋值逻辑就能解决问题:当flag=0时,把path_str设为包含空字符串的列表[""],这样循环会执行一次,刚好拼接出你需要的C:/User/Folder/img路径。

修改后的代码如下:

inpDir = r"C:/User/Folder"

flag = 0

if flag == 1:
    path_str = ["/1", "/5", "/12", "/54", "/76"]
else:
    path_str = [""]  # 改为含空字符串的列表,保证循环执行一次

for i in path_str:
    target_dir = inpDir + i + "/img"
    print(f"正在处理目录:{target_dir}")
    # 在这里编写你的处理逻辑 do all the process now for each subfolders

额外优化建议

手动用+拼接路径容易出现分隔符混乱的问题(比如不同操作系统的路径符号不一样),推荐用Python标准库的os.path.join或者pathlib来处理路径,更稳定通用:

用os.path.join的写法

import os

inpDir = r"C:/User/Folder"

flag = 0

if flag == 1:
    path_str = ["1", "5", "12", "54", "76"]  # 去掉开头的/,join会自动处理路径分隔
else:
    path_str = [""]

for i in path_str:
    target_dir = os.path.join(inpDir, i, "img")
    print(f"正在处理目录:{target_dir}")
    # 处理逻辑

用pathlib的写法(Python3.4+推荐)

from pathlib import Path

inpDir = Path(r"C:/User/Folder")

flag = 0

if flag == 1:
    path_str = ["1", "5", "12", "54", "76"]
else:
    path_str = [""]

for i in path_str:
    target_dir = inpDir / i / "img"
    print(f"正在处理目录:{target_dir}")
    # 处理逻辑

内容的提问来源于stack exchange,提问作者TFAE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:05:17