2

単純なテキスト ファイルに基づいて一括フォルダーを作成しようとしています。os.makedir新しいフォルダーを作成するのに役立ちますが、フォルダーリストとともに newpath 変数を組み込む方法がわかりません。以下は私が試しているものです。コードに構文エラーがあることを理解しています。そのため、コードを修正/強化するための助けが必要です。

import os.path  
newpath = r'C:\Program Files\test\'  
with open('folders.txt') as f:  
    for line in f:  
        ff = os.makedirs(newpath,line.strip())  
        ff.close()
4

3 に答える 3

3

os.path.joinを使用して、パス コンポーネントを結合します。

import os.path  
newpath = r'C:\Program Files\test\'  
with open('folders.txt') as f:  
    for line in f:  
        os.makedirs(os.path.join(newpath, line.strip()))
于 2012-08-29T10:46:54.273 に答える
2

ここに記載されている os.path.join 関数を使用できます。

于 2012-08-29T10:42:26.910 に答える
1

おそらくこのようなものですか?

import os, sys
newpath = 'C:\Program Files\test'
with open(open('folders.txt') as f:
  for line in f:
    newdir = os.path.join(newpath, line.strip())
    try:
      os.makedirs(newdir)
    except OSError:  # if makedirs() failed
      sys.stderr.write("ERR: Could not create %s\n" % newdir)
      pass  # continue with next line

ノート:

  • os.path.join()パスを結合するために使用します。これにより、OS に適したセパレーターが自動的に使用されます。
  • os.makedirs()何も返さない
  • os.makedirs()OSErrorディレクトリがすでに存在するか作成できない場合、例外が発生します。
于 2012-08-29T10:43:37.547 に答える