системные вызовы python - PullRequest
       13

системные вызовы python

0 голосов
/ 23 сентября 2009

с помощью этой команды я получаю только файл с именем OUTPUT (в действительности у меня есть еще много флагов --include), поэтому он работает, как и ожидалось:

os.system("rsync --rsh=ssh -arvuP --include='OUTPUT' --exclude='*' user@host:there/ ./here")

В этом случае флаги --include и --exclude игнорируются:

subprocess.call("rsync --rsh=ssh -arvuP --include='OUTPUT' --exclude='*' user@host:there/ ./here".split())

Интересно, что я делаю не так? Большое спасибо!

Редактировать: Извините, это на OS X Leopard, и я получаю все файлы ...

Ответы [ 2 ]

4 голосов
/ 23 сентября 2009

Попробуйте использовать subprocess.call с shell=True, это будет имитировать os.system более тесно:

subprocess.call("...", shell=True)
1 голос
/ 23 сентября 2009

В Python есть модуль rsync, если я не ошибаюсь, почему бы не использовать его вместо вызова. Это сделает ваше приложение более управляемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...