Skip to main content
 首页 » 编程设计

python之如何组合目录和文件路径以创建新路径

2025年05月04日11飞鱼

我的脚本必须在 Linux 和 Windows 中运行。脚本接收两个模式字符串作为参数:

  1. C:\test 或 /usr/local/test(无后缀)
  2. C:\test\ 或 /usr/local/test/(带有后缀 '\' 或 '/' )

以下代码没有问题,但我不想使用特定字符 '/'。因为它接近错误,我认为。 你有什么想法吗?

# -*- coding: utf-8 -*- 
 
import argparse 
 
def parse_args(): 
    parser = argparse.ArgumentParser(description='This script is ...') 
    parser.add_argument('--confdir', type=str, required=True) 
    parser.add_argument('--outdir', type=str, required=True) 
    return parser.parse_args() 
 
if __name__ == '__main__': 
    args = parse_args() 
    # "C:/test" or "C:/test/" in Windows 
    # "/usr/local/test" or "/usr/local/test/" in Linux 
    print(args.confdir) 
 
    f = open(args.confdir + "/" + 'sample.txt') 
    print(f.read()) 

请您参考如下方法:

您可以使用诸如 pathlib.Path 之类的对象自动处理尾随路径分隔符,例如:

#!/usr/bin/env python3 
import argparse 
import pathlib 
 
parser = argparse.ArgumentParser() 
parser.add_argument('--confdir', type=pathlib.Path, default='.') 
args = parser.parse_args() 
print(args.confdir) 
path = args.confdir / 'sample.txt' 
print(path) 
print(path.read_text())