ファイル配布スクリプトをコーディングしようとしています: スクリプトは、配布するファイル/ディレクトリを var 'filename'、宛先パスを 'path' として受け取り、srv.list にリストされているすべてのサーバーを介して実行し、file/ を scp します。それらのそれぞれにdir。さらに、ユーザー入力がファイルではなくディレクトリである場合に使用される ropt があります。
#!/usr/bin/python
import os
dirList = os.listdir("./")
srvlist = os.system("cat srv.lst")
filename = raw_input("Please enter file/dir to distribute")
path = raw_input("Please enter destination path")
ropt = ()
for d in dirList:
if os.path.isdir(d) == True:
ropt = "-r"
os.system("/usr/bin/scp " (ropt)"-- "(filename)" "(srvlist)":"(path)
else:
os.system("/usr/bin/scp "(filename)" "(srvlist)":"(path))
出力:
Please enter file/dir to distribute: 1.py
Please enter destination path: /root/
Traceback (most recent call last):
File "1.py", line 13, in ?
os.system("/usr/bin/scp "+filename+" "+srvlist+":"+path)
TypeError: cannot concatenate 'str' and 'int' objects
[root@g1-lon distribute]#