-3

在这个线程之后:将 .txt 文件重命名为文件中的第一行? 我想出了这段代码:

import os
for filename in os.listdir("."):
   if filename.endswith(".txt"):
        base, ext = os.path.splitext(filename)
   with open(filename, 'r') as infile:
        newname = infile.next().rstrip()
   newname += ext
   os.rename(filename, newname)

这很好用,但我真正需要的是不在整个第一行之后命名文件,而是在逗号之间的字符串之后。第一行有各种用逗号分隔的值(csv),我需要用第二个值重命名文件,即出现在第二个和第三个逗号之间的文本字符串。

我找到了一个 csv 模块,但我不知道它是否有帮助或如何使用它。我发现我可以这样导入它:import unicodecsv as csv避免奇怪的字符问题。

任何帮助,将不胜感激。谢谢

4

2 回答 2

4

newname = infile.next().rstrip().split(",")[2]

也许?不确定从问题中很难分辨

于 2013-10-30T16:46:12.727 回答
0

坦克到@Joran Beasley 它运行良好,现在的代码是:

import os
for filename in os.listdir("."):
   if filename.endswith(".csv"):
        base, ext = os.path.splitext(filename)
   with open(filename, 'r') as infile:
        newname = infile.next().rstrip().split(",")[1]
   newname += ""
   os.rename(filename, newname)
于 2013-10-30T17:02:07.080 回答