ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 23/03/2017 - 12:44
נושא ההודעה: ארגומנטים ופקודות בפייתון

אני מנסה לכתוב כלי שורת פקודה, שעובד בערך כמו apt.

הארגומנט הראשון הוא הפקודה, ולאחריו יש ארגומנים לפקודה. יש דגלים גלובליים (למשל --verbose) ויש דגלים שקשורים לפקודה (למשל --purge). אני עובד ב-Python3 ואני תקוע, הדוגמאות שיש בתיעוד לא מספקות.

בינתיים זה מה שיש לי:
קוד:

parser = argparse.ArgumentParser()
parser.add_argument("list")
# parser.add_argument("init")
args = parser.parse_args()

if args.list:
   loadDefinitions()
   printDefinitions()
# elif args.init:
   # loadDefinitions()
   # TOOD - create standard init file for project   


אבל אם אני משתמש בקוד שבהערות, אני דורש שגם init וגם list יישלחו. לחליפין - אשמח לקבל פרוייקט לדוגמה שאני אלמד ממנו.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
eאורח · ·
 

הודעה פורסם: 23/03/2017 - 13:39
נושא ההודעה:

אם אני מבין נכון הגדרת לו שני פרמטרים שהם positional, אם מועבר רק פרמטר אחד איך הוא אמור לדעת לאיזה מהם התכוונת?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
eאורח · ·
 

הודעה פורסם: 23/03/2017 - 13:46
נושא ההודעה:

הסתכלת פשוט על ה-tutorial? נראה לי הסבר די ברור
https://docs.python.org/3/howto/argparse.html
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 23/03/2017 - 14:03
נושא ההודעה:

דוגמה: git-buildpackage

https://honk.sigxcpu.org/piki/projects/git-buildpackage/
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 23/03/2017 - 14:40
נושא ההודעה:

ללא קשר, אם אין לך בעיה להציג תלות בספריה בפרוייקט, הייתי ממליץ לך להשתמש במשהו כמו click‏:
http://click.pocoo.org

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 23/03/2017 - 15:15
נושא ההודעה:

e :
אם אני מבין נכון הגדרת לו שני פרמטרים שהם positional, אם מועבר רק פרמטר אחד איך הוא אמור לדעת לאיזה מהם התכוונת?


אני צריך לדעת מה ה-first argument, אני מבין שפה הטרמינולוגיה היא positional parameter?

אם כן - השאלה שלי היא ״איך אני יודע מה הפרמטר הראשון שהועבר״? ואיך אני משנה את ה-optional agument בהתאם ל-first argument?

mksoft - האמת, שאי מעדיף שלא. זה פרוייקט היתתכנות, ואם כבר אני מעדיך ללמוד בו דברים פשוטים ולא להתעמק (האמת, אני שוקל לעבור בעצמי על argv ולפרסר בעצמי).

- תודה
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 23/03/2017 - 16:23
נושא ההודעה:

סבבה.

זה לא ארגומנט אופציונלי, אלא ארגומנט של פקודה עם אפשרויות של list ו-init.

הגדר positional argument בודד, עם choices שלהם:
https://docs.python.org/3/library/argparse.html#choices

נ.ב.
אל תפרסר בעצמך, ניסיתי את השטות הזו פעם, חבל על העבודה.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 23/03/2017 - 18:07
נושא ההודעה:

סליחה שאני מתפרץ מבלי להבין שמץ אבל אתה לא מתכוון במקרה ל getopt ?

https://docs.python.org/3.1/library/getopt.html
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 23/03/2017 - 19:06
נושא ההודעה:

mksoft :
סבבה.

זה לא ארגומנט אופציונלי, אלא ארגומנט של פקודה עם אפשרויות של list ו-init.

הגדר positional argument בודד, עם choices שלהם:
https://docs.python.org/3/library/argparse.html#choices

נ.ב.
אל תפרסר בעצמך, ניסיתי את השטות הזו פעם, חבל על העבודה.


מסתבר שאכן הייתי צריך choises. שאלה נוספת:
האם אני יכול להגדיר optional argument עבור כל option שונה?
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 23/03/2017 - 20:14
נושא ההודעה:

elcuco :

האם אני יכול להגדיר optional argument עבור כל option שונה?

נדמה לי שמה שאתה מחפש זה Sub-commands
https://docs.python.org/3/library/argparse.html#sub-commands
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
DanRRלא בפורום כעת ת.הצטרפות: 27/08/2007 · הודעות: 115 ·
 

הודעה פורסם: 23/03/2017 - 22:29
נושא ההודעה:

אם הבנתי נכון, אתה צריך פרסר של שורת פקודה? יש את argparse, סיפריה סטנדרטית של פיתון:

https://docs.python.org/3/library/argparse.html
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
DanRRלא בפורום כעת ת.הצטרפות: 27/08/2007 · הודעות: 115 ·
 

הודעה פורסם: 23/03/2017 - 22:35
נושא ההודעה:

לא יודע אם זה יעזור, קבל דוגמא:
קוד:
    parser = argparse.ArgumentParser()
    parser.add_argument('-rd', '--recursive-dirs',nargs='*', dest='recursive_dirs', help='recursive directories')
    parser.add_argument('-fd', '--flat-dirs',nargs='*', dest='flat_dirs', help='flat directories')
    parser.add_argument('-exd', '--exclude-dirs', nargs='*', dest='exclude_dirs', help='exclude directories')
    parser.add_argument('-exf', '--exclude-files', nargs='*', dest='exclude_files', help='exclude files')
    parser.add_argument('-od', '--out-dir',nargs='?', dest ='out_dir', help='output files directory', default='.')
    parser.add_argument('-re', '--path-re',type=str, dest='path_match_expression',
                        help='path match regular expression', required=True)
    parser.add_argument('-csv', '--csv-files', nargs='*', dest ='csv_files', help='csv files')
    parser.add_argument('-crd', '--csv-root-dirs', nargs='*', dest ='csv_paths_root_dirs', help='csv paths root dirs')
    parser.add_argument('-ty', '--types', nargs='*', dest='file_types', help='file types', default='*')
    parser.add_argument('-nl', '--no-links', dest='no_links', action='store_true', default=False)
    args = parser.parse_args()
    if args.recursive_dirs is None and args.flat_dirs is None and args.csv_files is None:
        parser.error("at least one of -rd, -fd or -csv required")
...
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 24/03/2017 - 19:01
נושא ההודעה:

Anonymous :
elcuco :

האם אני יכול להגדיר optional argument עבור כל option שונה?

נדמה לי שמה שאתה מחפש זה Sub-commands
https://docs.python.org/3/library/argparse.html#sub-commands


תודה - נראה שזה זה. הניסיון שלי עם פייתון קצת לוקה בחסר... אבל אני מתחיל להבין את העיניין.

ואם אני כבר כאן... עוד שאלה:

אני עובד עם עורך טקסט מוצמד לצד ימין של המסך, ומסוף בצד ימין. אני עובר ביניהם ומקווה לטוב. זה עושה לי סחרחורת (אפקטים מיותרים חלק מהזמן) ואני צריך השלמת טקסט. ולראות תיעוד בו זמנית.

איך עובדים עם פיית'ון הילדים הגדולים? (אני כבר יודע מה מאיר יגיד לי).
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 24/03/2017 - 19:25
נושא ההודעה:

elcuco :
Anonymous :
elcuco :

האם אני יכול להגדיר optional argument עבור כל option שונה?

נדמה לי שמה שאתה מחפש זה Sub-commands
https://docs.python.org/3/library/argparse.html#sub-commands


תודה - נראה שזה זה. הניסיון שלי עם פייתון קצת לוקה בחסר... אבל אני מתחיל להבין את העיניין.

ואם אני כבר כאן... עוד שאלה:

אני עובד עם עורך טקסט מוצמד לצד ימין של המסך, ומסוף בצד ימין. אני עובר ביניהם ומקווה לטוב. זה עושה לי סחרחורת (אפקטים מיותרים חלק מהזמן) ואני צריך השלמת טקסט. ולראות תיעוד בו זמנית.

איך עובדים עם פיית'ון הילדים הגדולים? (אני כבר יודע מה מאיר יגיד לי).


אז באמת מה אתה מחפש פה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
queencyלא בפורום כעת ת.הצטרפות: 13/11/2008 · הודעות: 2139 ·
 

הודעה פורסם: 24/03/2017 - 19:26
נושא ההודעה:

https://www.google.co.il/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&uact=8&ved=0ahUKEwjV04Ggx-_SAhUIIJoKHX-_A9UQFghBMAQ&url=https%3A%2F%2Fdocs.python.org%2F2%2Flibrary%2Frlcompleter.html&usg=AFQjCNH0GOgbPS0Zy_gLfdoYLSyK3Eq5JQ

_________________
מערכת: GNU/Linux debian
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 25/03/2017 - 14:41
נושא ההודעה:

elcuco :
Anonymous :
elcuco :

האם אני יכול להגדיר optional argument עבור כל option שונה?

נדמה לי שמה שאתה מחפש זה Sub-commands
https://docs.python.org/3/library/argparse.html#sub-commands


תודה - נראה שזה זה. הניסיון שלי עם פייתון קצת לוקה בחסר... אבל אני מתחיל להבין את העיניין.

ואם אני כבר כאן... עוד שאלה:

אני עובד עם עורך טקסט מוצמד לצד ימין של המסך, ומסוף בצד ימין. אני עובר ביניהם ומקווה לטוב. זה עושה לי סחרחורת (אפקטים מיותרים חלק מהזמן) ואני צריך השלמת טקסט. ולראות תיעוד בו זמנית.

איך עובדים עם פיית'ון הילדים הגדולים? (אני כבר יודע מה מאיר יגיד לי).


אתה יכול לעבוד עם IDE כמו PyCharm, שהוא מאוד פופולרי, יש לו community edition, הרישיון שלו לא יקר מדי בכל מקרה:
https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6255 ·
 

הודעה פורסם: 26/03/2017 - 10:47
נושא ההודעה:

mksoft :

אתה יכול לעבוד עם IDE כמו PyCharm, שהוא מאוד פופולרי, יש לו community edition, הרישיון שלו לא יקר מדי בכל מקרה:
https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html


אני מחפש משהו יותר חופשי.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 26/03/2017 - 11:50
נושא ההודעה:


כולם למעט LiClipse קוד פתוח.

תוכל למצוא עוד כאן:
http://docs.python-guide.org/en/latest/dev/env/

_________________
הבלוג שלי

נערך לאחרונה על-ידי mksoft בתאריך 26/03/2017 - 11:53, סך-הכל נערך פעם אחת
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 26/03/2017 - 11:53
נושא ההודעה:

elcuco :
אני מחפש משהו יותר חופשי.

ה-community edition הוא קוד פתוח ברשיון אפצי
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 26/03/2017 - 21:24
נושא ההודעה:

ה pycharm מתקרב בכבדות (ובסיבוכיות) שלו ל visual studio
אלא אם זה מגה פרוייקט (נגיד בדג'נגו) אני לא רואה שום סיבה להשתמש בו.
כל השאר הם ברמה של notepad++
אני אוהב את נינג'ה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 27/03/2017 - 10:50
נושא ההודעה:

https://www.sublimetext.com/
I'm working with sublime and very happy with it.
don't be afraid of the high price tag, you don't actually have to buy it.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
סתם אחדאורח · ·
 

הודעה פורסם: 29/03/2017 - 04:40
נושא ההודעה:

אני חושב שניסיתי כמעט את כל העורכים שמאיר הביא בהודעה שלו פרט לאחד.
המסקנות שלי בקשר לעורכי פייתון הם
pycharm אחלה IDE אבל כבד
Spyder עורך קליל ונחמד אבל לוקה בחסר
vscode עורך ממש ממש נחמד, כרגע הוא העורך שלי, כעורך בלבד.

תכלס פיתוח אני מוצא את עצמי רוב הזמן משתמש בjupyter שזה Ipython על סטרואידים, זה מתחיל בכתיבה קלילה של קוד כדי לוודאות יתכנות וזה ממשיך את דרכו לעורך של מיקרוסופט איפה שכל הקוד נמצא.


נ.ב. אין לי מושג מה זה הErik הזה, מעולם לא הבנתי מה הוא רוצה ממני ולמה אי אפשר פשוט חכתוב קוד.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. elcuco
  2. אורח [e]
  3. אורח [e]
  4. אורח [צפריר]
  5. mksoft
  6. elcuco
  7. mksoft
  8. אורח
  9. elcuco
  10. אורח
  11. DanRR
  12. DanRR
  13. elcuco
  14. אורח
  15. queency
  16. mksoft
  17. elcuco
  18. mksoft
  19. אורח
  20. אורח
  21. אורח
  22. אורח [סתם אחד]