私はそれぞれ作業ディレクトリを変更していて、特定の作業ディレクトリに新しいディレクトリを作成したり、これらのディレクトリのファイルをコピー/移動したりするスレッドをいくつか持っています。例えば考えなさい:スレッド固有のos.chdirとmkdirとは何ですか?
私はそれにchdirを読んだdef thread1:
while True:
os.chdir('dir')
os.mkdir('newdir')
os.system('mv *.png newdir/')
do something
def thread2:
while True:
os.chdir('another-dir')
os.mkdir('another-newdir')
os.system('mv *.png another-newdir/')
do something
、MKDIR関数は、スレッドが、グローバルに固有のものではありません。これを達成する方法は何ですか?私は絶対パスを使用しようとすることができますが、それは最善の解決策ですか?
すぐに解決できるのは、 '' os.chdir() ''を決して呼び出さないことです。あなたの場合は '' os.mkdir( 'dir/newdir')になります。 os.system( 'cd dir && mv * .png newdir /') ''。 '' cd''はシェルコマンドの中にあることに注意してください。 –
もう一つの解決策は、Linuxのみで 'unshare(CLONE_FS)'関数を使うことですが、Cを書くかctypes/cffiを使う必要があります。 –