Skip to main content
 首页 » 编程设计

Python 将以空格分隔的文件行读取为单独的行

2025年05月04日8zhwl

这是在 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)