这是在 Windows Server 2008 R2 上。我有一个输入文件,每行一个输入。一些输入中有空格。我正在尝试使用下面的简单代码,但它将每个单词而不是每一行分开。我最终应该得到 208 个新文件夹(删除所有空格),但因此我最终得到 230 个。我需要更改什么才能解决问题?
import os
f = open("out.txt", "r")
os.chdir("base location")
for line in f:
os.system("mkdir " + line.strip())
(例如,“Download Samples”在out.txt中是一行,但是这个脚本创建了两个文件夹,“Download”和“Samples”。)
为清楚起见,编辑:我有一个包含 208 个名称的列表,每行 1 个。其中一些名称带有空格。我需要在目录 base location 中为每个 LINE 创建一个文件夹。上面的脚本是为每个 WORD 而不是每个 LINE 创建一个文件夹。这是我需要纠正的问题。
请您参考如下方法:
这不是 Python 问题。这是一个操作系统问题。我假设您正在运行 Linux(您没有说)。
运行这个:
mkdir Line with multiple words
... 将创建四个目录,而不是一个。
更新:@bgporter 也对此进行了解释。
更好的解决方案是不使用 os.system(基本上,永远),而是使用 os.mkdir:
import os
f = open("out.txt", "r")
os.chdir("base location")
for line in f:
s = line.strip()
if len(s)>0:
# ignore blank or whitespace-only lines
os.mkdir(s)
