这是在 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
。上面的脚本为每个 WORD 创建一个文件夹,而不是每行创建一个文件夹。这就是我需要纠正的问题。
这不是 Python 问题。这是操作系统问题。我猜你正在运行Linux(你没有说)。
运行这个:
mkdir Line with multiple words
...将创建四个目录,而不是一个。
UPDATE:@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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)