怪力で。
で、python スクリプトから
1 inputdir = u"Z:/設計書/ありか"
2 filename = u"なんかの設計.xlsx"
3
4 f = open(os.path.join(inputdir, filename))
とか、
1 from distutils.dir_util import copy_tree
2 outputdir = u"Y:/実装ソース/置き場"
3 copy_tree("_dest", outputdir)
とかすらあね。
ただな…。ネットワークドライブって、「起動時に再接続」にしていて、接続設定も正しいとしても、起動時に「ネットワークドライブに再接続できませんでした」になるだろ?
さて。じゃあ、上記のようなスクリプトの運命は?
答えは、 エクスプローラから一度も開いていなければ爆発する 。IOError と WindowsError に見舞われますな。しかも最初だけだったりそうでなかったり。
けっ。エクスプローラで開きゃいいんデショ:
1 drives = set()
2 try:
3 open(path1)
4 except IOError:
5 drives.add(os.path.splitdrive(path1)[0])
6 for path in pathes:
7 dr = os.path.splitdrive(path)[0]
8 if dr not in drives:
9 try:
10 os.listdir(path)
11 except WindowsError:
12 drives.add(dr)
13 for dr in drives:
14 from subprocess import Popen
15 Popen(["explorer", dr])
16 import time ; time.sleep(5)
はい、ふざけた対処の出来上がり。どうせこれらのフォルダは開くんだから、一石二鳥だ。
sleep は入れないと結構不定みたい。だから入れたほうがいい。あと、「ドライブ」を渡さないと効果ないので注意だ。
うん、馬鹿だ。そしてオーバキル。玄関が開かないからロケットランチャー、的な。
真面目な対処、つまりは「ネットワークドライブのまっとうな再接続手順」は、多分システム API の奥底を辿れば出てくるとは思うけど、あたしゃ頑張らない。