gpt4 book ai didi

python - 将路径字符串拆分为驱动器、路径和文件名部分

转载 作者:IT老高 更新时间:2023-10-28 21:08:21 27 4
gpt4 key购买 nike

我是 python 和一般编码的新手。我正在尝试从每行都有路径名的文本文件中读取。我想逐行读取文本文件并将行字符串拆分为驱动器、路径和文件名。

到目前为止,这是我的代码:

import os,sys, arcpy

## Open the file with read only permit
f = open('C:/Users/visc/scratch/scratch_child/test.txt')

for line in f:
(drive,path,file) = os.path.split(line)

print line.strip()
#arcpy.AddMessage (line.strip())
print('Drive is %s Path is %s and file is %s' % (drive, path, file))

我收到以下错误:

File "C:/Users/visc/scratch/simple.py", line 14, in <module>
(drive,path,file) = os.path.split(line)
ValueError: need more than 2 values to unpack

我只需要路径和文件名时没有收到此错误。

最佳答案

你需要先使用os.path.splitdrive:

with open('C:/Users/visc/scratch/scratch_child/test.txt') as f:
for line in f:
drive, path = os.path.splitdrive(line)
path, filename = os.path.split(path)
print('Drive is %s Path is %s and file is %s' % (drive, path, filename))

注意事项:

  • with 语句确保文件在 block 的末尾关闭(文件也会在垃圾收集器吃掉它们时关闭,但使用 with 通常是好的练习
  • 你不需要括号 - os.path.splitdrive(path) 返回一个元组,它会自动解包
  • file 是标准命名空间中的类名,您可能不应该覆盖它:)

关于python - 将路径字符串拆分为驱动器、路径和文件名部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10507298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com