Я пытался написать ФУНКЦИЮ (для добавления в МОДУЛЬ), где мне нужно использовать команду "wget" в bash-режиме. например У меня есть эта строка в моей функции,
href_aw = search_str_1 + collections[1]+ search_str_2 + str(RA) + '+' + str(Dec) + search_str_3
!wget -O url_list_dir/wise_allsky.dat "{href_aw}" --no-check-certificate
это работает нормально, пока у меня есть это в функции. Я могу выполнить его и загрузить желаемый файл.
Когда я копирую, вставляю свою функцию в модуль и пытаюсь вызвать ее, я получаю сообщение об ошибке
"Файл
"/Users/aprakash/Library/Enthought/Canopy/edm/envs/User/lib/python3.5/WISE_photometry_abhi.py",
линия 67
! Wget -O url_list_dir / neo_wise.dat "{href_nw}" --no-check-certificate
^ SyntaxError: неверный синтаксис "
Итак, после просмотра некоторого интернета (stackoverflow) я изменил свою команду wget на следующую;
import os
os.system("wget -O url_list_dir/wise_allsky.dat '{href_aw}' --no-check-certificate")
но это возвращает пустой файл. Любые идеи, как это исправить? Обратите внимание, что я не могу использовать модуль Python Wget и команду, подобную этой;
wget.download(mask_3b, out = img_dir)
, поскольку он не допускает использование таких ключевых слов, как "--no-check-certificate".
Я не понимаю, как, если что-то работает отлично, так как функции выдают ошибку только потому, что она вызывается из модуля. Я хотел бы повторить, что первая команда работает нормально, если я использую функцию в том же сценарии, где она написана.
Спасибо за вашу помощь!
Аби