如何修改代码在新建文件夹中生成info.txt而非父文件夹
问题解决:让info.txt生成在新建文件夹内
你的代码问题出在拼接文件路径时没有使用正确的路径分隔符,直接用path + info_file会把目录名和文件名连在一起(比如C:\America\dir1加上info.txt变成C:\America\dir1info.txt),导致文件被错误创建在父目录下,且文件名不符合预期。
修改后的代码
import os parent_dir = r"C:\America" text_file = r"C:\dir.txt" info_file = "info.txt" with open(text_file, 'r', encoding='utf-8') as f: lines = f.read().splitlines() for line in lines: path = os.path.join(parent_dir, line) os.mkdir(path) # os.mkdir无返回值,无需赋值给变量 # 用os.path.join正确拼接目录与文件名,自动适配系统路径分隔符 info_full_path = os.path.join(path, info_file) with open(info_full_path, 'w') as filehandle: filehandle.write('test') # 单字符串写入用write更贴合语义
关键改动说明
- 替换路径拼接方式:用
os.path.join(path, info_file)替代path + info_file,该函数会根据操作系统自动添加正确的路径分隔符(Windows为\,类Unix系统为/),确保文件被放在目标目录内。 - 移除无用变量:
os.mkdir执行后没有返回值,new_dir变量完全多余,直接调用函数即可。 - 优化写入方法:
writelines更适合写入字符串可迭代对象(如列表),单字符串用write语义更准确,效果一致。
内容的提问来源于stack exchange,提问作者uncrayon
相关产品推荐
相关产品推荐

