Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建文件和文件夹循环_Python_Linux - Fatal编程技术网

Python 创建文件和文件夹循环

Python 创建文件和文件夹循环,python,linux,Python,Linux,嘿,我试着做一个创建文件夹和文件的循环。 据我所知,该计划的工作原理如下: 在其中创建第一个文件夹和一个文件 创建第二个文件夹和其中的一个文件 而且它还在继续。。。。。 我的程序所做的是: 创建1个文件 创建文件夹 我的节目 import os,sys di=("ab") a=0 i=0 fi=open("az.txt","w") def file(): for i in range(0,10): fi.write(str(i)) def mk(): for

嘿,我试着做一个创建文件夹和文件的循环。 据我所知,该计划的工作原理如下:

  • 在其中创建第一个文件夹和一个文件
  • 创建第二个文件夹和其中的一个文件
  • 而且它还在继续。。。。。 我的程序所做的是:

  • 创建1个文件
  • 创建文件夹
  • 我的节目

    import os,sys
    
    di=("ab")
    a=0
    i=0
    fi=open("az.txt","w")
    
    def file():
        for i in range(0,10):
            fi.write(str(i))
    
    def mk():
        for a in range(0,10):
            os.mkdir(di+str(a))
            file()
    
    mk()
    
    请帮忙

    嘿,我试着做一个创建文件夹和文件的循环。根据我的说法,程序应该是这样工作的:1)创建第一个文件夹和其中的一个文件。2) 在其中创建第二个文件夹和一个文件,然后继续。。。。。我的程序所做的是:1)创建1个文件2)创建文件夹

    事实上,它做的是后者,而不是前者。您的程序所做的是创建目录,并写入:

    0123456789
    
    十次内
    az.txt
    。您的错误是在任何循环之外打开文件,然后在循环内写入

    我想,这就是你想要的:

    导入操作系统,系统

    di="ab"
    
    def mk_file(di):
        for i in range(0,10):
            with open("{}/az_{}.txt".format(di,i), "w") as fi:
                fi.write(str(i))
    
    def mk_dir():
        for a in range(0,10):
            dname = "{}_{}".format(di, str(a))
            os.mkdir(dname)
            mk_file(dname)
    
    if __name__ == "__main__":
        mk_dir()
    

    此脚本将创建一个名为“a”、“b”、“c”的文件夹,并放置文件1.txt 2.txt。。每个文件夹中都有5.txt

    在尝试的同时,根据需要进行更改

    import os
    for i in "abc":
        os.system ("mkdir "+i)
        for j in range (5):
                os.system ("touch "+str(i)+"/"+str(j)+".txt")
    

    简单调试:将
    print
    语句放入各种循环中(使其字符串唯一),并遵循程序流程。注意:
    file
    是一个内置的Python函数。您正在重写它,因此您将使用您的函数,但最好重命名它,对于类似于
    create_files
    @Torxed的东西,az.txt的内容是i@Evert谢谢,我确实更改了函数,但没有效果文件仍在函数外部创建谢谢回答,但您的程序执行相同的操作它在文件夹外部创建文件,我希望在folder抱歉,忘记了一个细节:打开文件夹中的文件:-)在上次编辑中更正。是的,我没有给出在
    mk\u文件中创建文件所用的名称。再次抱歉。这一次我测试了代码,它工作了。谢谢,它工作了:)但是你能解释一下它是如何工作的吗?你想知道哪条语句?os.system-正在终端中运行bash命令。当你使用“mkdir”+i时-实际上你运行命令“mkdir a”,然后你构建并运行bash命令来创建一个文件“touch a/1.txt”基本bash命令如果你需要在某个文件中放入一些内容-只需将命令放在正确的位置:os.system(“echo blablabla>somefile.txt”)或者,如果内容已知且文件名已知:os.system(“echo”+内容+“>”+文件名)。请确保在生成命令时在正确的位置有空格