在for循环中创建文件夹,并将该文件夹设置为当前目录以向其中写入/导出文件

时间:2018-08-31 12:42:44

标签: python-3.x

  

我努力工作了几个小时,以了解如何将文件写入在for循环中创建的目录中。

主要是我为数据操作编写脚本,但想继续与ossubprocesses一起使用,而在OS级别的自动化方面,我正努力做到这一点。

  

问题语句:在for循环中的指定路径中创建一个文件夹   对于创建的每个文件夹,在其中添加一些工作,例如:文件或   导出图片或日志。

 
  

问题:我创建了文件夹,但是文件正在写入脚本路径,而不是新创建的文件夹。

import os
import random
import pathlib

path = "/home/sample/folder/"


for i in range(5):


    os.makedirs(os.path.join(path, 'train_set' + str(i)))
    print(fd)
    wd=os.getcwd()
    print(wd)

    #tried to use this way but no success ... 
    #os.chdir(wd)
    #os.system ("mkdir "+i)
    #dest_fold = dest_path + dname

    lst = list(df.index.values)
    random.shuffle(lst)

    #with open(filename, "w") as f:
    for lst in range(1, len(df) , 30):
        slc_all = df.iloc[lst : lst + 30]
        print(len(slc_all))
        count = 0
        for j in range(count, len(slc_all)):
            ...
            export_png(p, filename= "file"+str(j)+".png")

1 个答案:

答案 0 :(得分:1)

这应该有帮助。

import os
import random
import pathlib

path = "/home/sample/folder/"


for i in range(5):

    dir = os.path.join(path, 'train_set' + str(i))
    os.makedirs(dir)

    lst = list(df.index.values)
    random.shuffle(lst)

    #with open(filename, "w") as f:
    for lst in range(1, len(df) , 30):
        slc_all = df.iloc[lst : lst + 30]
        print(len(slc_all))
        count = 0
        for j in range(count, len(slc_all)):
            ...
            export_png(p, filename= os.path.join(dir, "file"+str(j)+".png"))   #Use Full path to save file.