1
空格Python腳本的argv我有幾個Python腳本來處理從互聯網的一些API收到JSON對象。現在,我的主要應用程序是用C++編寫的(它用於GUI和我的API密鑰保護)。我從用戶接收2個輸入。他們中的一個是暱稱,可以有空格。現在,當我通過他們在參數傳遞給C++程序(目前其只寫了一個控制檯應用程序),它工作時,我只是用""
,但後來:解析與C++
W:\src>XD "nickname with spaces" summoner_by_name
nickname with spaces
summoner_by_name
python main.py API_KEY nickname with spaces summoner_by_name
ARGV:
main.py
API_KEY
nickname
with
spaces
summoner_by_name
END OF ARGV
所以第一部分是這個代碼的一部分:
int main(int argc, char** argv){
std::string name = argv[1];
std::string command = argv[2];
std::cout << name << std::endl;
std::cout << command << std::endl;
std::cout << python + API_KEY + " " + name + " " + command << std::endl;
system((python + API_KEY + " " + name + " " + command).c_str());
return 0;
}
,第二部分是這個代碼的一部分:
def main(argv):
API_KEY = argv[1]
NAME = argv[2]
print("ARGV:")
for i in argv:
print(i)
print("END OF ARGV")
所以它看起來像C++不""
經過2個值,這就是爲什麼它不幹活g(我試圖用cmdline自行傳遞它 - 它工作)。它雖然在Linux上工作。我怎樣才能用空格來傳遞這些值?