2012-07-24 20 views
17

Python स्क्रिप्ट मैं rpy2 से एक समारोह फोन में नहीं किया जा सकता है, लेकिन मैं इस त्रुटि मिलती है:पायथन: सिंटैक्स त्रुटि: कीवर्ड एक अभिव्यक्ति

#using an R module 
res = DirichletReg.ddirichlet(np.asarray(my_values),alphas, 
           log=False, sum.up=False) 
SyntaxError: keyword can't be an expression 

वास्तव में क्या यहाँ गलत हो गया?

+2

अपने अद्यतन के बारे में: कई वाक्यविन्यास त्रुटियों एक कैरट के साथ आते हैं '^' टोकन कि पार्स त्रुटि के कारण होता है पर इशारा करते हुए, दूसरों (यह एक सहित) नहीं है। किसी भी मामले में, त्रुटि संदेश पर ध्यान दें, और [google messgae google] (http://www.google.com/search?q=Python+ "कीवर्ड + + + + + अभिव्यक्ति नहीं हो सकता है") यदि आवश्यक हो तो । इस मामले में, पहली हिट चीजों को मंजूरी देनी चाहिए थी। –

+11

@SvenMarnach: त्रुटि संदेश गुगल करने से आपको अब इस पृष्ठ पर लाया जाता है। – Thanatos

उत्तर

15

sum.up मान्य कीवर्ड तर्क नाम नहीं है। कीवर्ड तर्क मान्य पहचानकर्ता होना चाहिए। आपको जिस लाइब्रेरी का उपयोग कर रहे हैं, उसके दस्तावेज को देखना चाहिए कि यह तर्क वास्तव में कहलाता है - शायद sum_up?

+0

हां, वह था। मैं भूल गया कि आर कार्यों के साथ काम करते समय, सभी बिंदुओं को अंडरस्कोर में अनुवादित करने की आवश्यकता है। तो 'sum_up' चाल चल रही थी। :) –

+0

बस एक ही वाक्यविन्यास त्रुटि थी क्योंकि मैं एक तर्क नाम "my-argument-name" का उपयोग कर रहा था। आपके उत्तर ने मुझे यह जानने में मदद की कि इसे "my_argument_name" में नामित करने से त्रुटि हल हो सकती है। – Flaudre

6

sum.up=False पर यह पाइथन स्रोत पार्सर विफलता है क्योंकि sum.up मान्य तर्क नाम नहीं है (आप डॉट्स का उपयोग नहीं कर सकते - केवल अल्फान्यूमेरिक्स और तर्क नामों में अंडरस्कोर)।

-1

मुझे % स्वरूपण .format() पर कनवर्ट करते समय मुझे यह समस्या मिली।

पिछला कोड:

"SET !TIMEOUT_STEP %{USER_TIMEOUT_STEP}d" % {'USER_TIMEOUT_STEP' = 3} 

समस्याग्रस्त वाक्य रचना:

"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format('USER_TIMEOUT_STEP' = 3) 

समस्या यह है कि format एक समारोह मापदंडों की जरूरत है है। वे तार नहीं हो सकते हैं। यह मैंने कभी देखा है सबसे खराब पायथन त्रुटि संदेशों में से एक है।

सही कोड:

"SET !TIMEOUT_STEP {USER_TIMEOUT_STEP}".format(USER_TIMEOUT_STEP = 3) 
+0

यह सुनिश्चित नहीं है कि आपने ओपी के प्रश्न का उत्तर दिया है, लेकिन आपने पैरामीटर की आवश्यकता वाले प्रारूप फ़ंक्शन के संबंध में मेरे प्रश्न के उत्तर दिए हैं, स्ट्रिंग नहीं। – chishaku

4

मुझे लगता है कि हम में से कई जो इस पृष्ठ पर आ के साथ एक समस्या Scikit जानें है, इसे हल करने एक तरह से मानकों के साथ एक शब्दकोश बनाने और इसे पारित करने के लिए है मॉडल:

params = {'C': 1e9, 'gamma': 1e-07} 
cls = SVC(**params)  
0

लचीला खोज डीएसएल एपीआई का उपयोग करना, आप

s = Search(using=client, index="my-index") \ 
    .query("match", category.keyword="Musician") 
के साथ एक ही त्रुटि हिट कर सकते हैं

आप ऐसा करके इसे हल कर सकते हैं:

s = Search(using=client, index="my-index") \ 
    .query({"match": {"category.keyword":"Musician/Band"}}) 
संबंधित मुद्दे