
Pythonåºç€ïŒïŒã·ã¹ãã ãã©ã¡ãŒã¿/ãã¹ç®¡ç(sysïŒ
ïŒïŒæŠèŠ
ãã·ã¹ãã ãã©ã¡ãŒã¿ããã¹ç®¡çãã§ããPythonæšæºã©ã€ãã©ãªã®sysã玹ä»ããŸãã
ïŒïŒãã¹ïŒç°å¢å€æ°ïŒãšã¯
ãåãã«CMDã§notepadãå ¥åããŠã¿ããšã¡ã¢åž³ãç«ã¡äžãããŸããPCãã¡ã¢åž³(notepad)ãç«ã¡äžããããšãã§ããçç±ã¯ãnotepadã®å ŽæïŒæ£ç¢ºã«ã¯æ¢ãå ŽæïŒãèŠããŠããããã®äžããnotepadãæ¢ããããã§ãã

ãããã§ã®ãã¹ãšã¯PCãèšæ¶ããå Žæã§ããããã¹ãéãããšã¯PCãéžæããç®æãèŠããããããšã«ãªããŸããéã«èšããšãã¹ãéã£ãŠãªããšPCã¯æ¢ãå Žæãããããªããããã¡ã€ã«ïŒãã£ã¬ã¯ããªãæ€çŽ¢ã§ããŸããã
ãåèãŸã§ã«ãã¹ã®éãæ¹ã¯äžèšã®éãã§ãã
ïŒïŒã¢ãžã¥ãŒã«ã®æ€çŽ¢ãã¹ïŒsys.path
ãã¢ãžã¥ãŒã«(Pythonãã¡ã€ã«)ãæ€çŽ¢ãããã¹ã確èªããã«ã¯sys.pathã䜿çšããŸããå®è¡åæã¯äžèšãã©ã«ãå ã®ânote_sys.ipynbâã§å®æœããŠããŸãã

[In]
import sys
sys.path
[Out]
['c:\\Users\\KIYO-\\Desktop\\note\\note_sys',
'C:\\Users\\KIYO-\\anaconda3\\python39.zip',
'C:\\Users\\KIYO-\\anaconda3\\DLLs',
'C:\\Users\\KIYO-\\anaconda3\\lib',
'C:\\Users\\KIYO-\\anaconda3',
'',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages\\locket-0.2.1-py3.9.egg',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages\\win32',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages\\Pythonwin',
'C:\\Users\\KIYO-\\anaconda3\\lib\\site-packages\\IPython\\extensions',
'C:\\Users\\KIYO-\\.ipython',
'C:\\Users\\KIYO-\\AppData\\Roaming\\Python\\Python39\\site-packages']ãæ€çŽ¢ãã¹ã確èªãããšãå®è¡ãã¡ã€ã«ãšã«ã¬ã³ããã£ã¬ã¯ããªãäžçªæåã«æ€çŽ¢ããããã®åŸã¯ãªã¹ãé ã«æ€çŽ¢ããããããšãããããŸããsys.pathã¯ãªã¹ã圢åŒã®ããåŸè¿°ããéããã¹ã远å ããããšãå¯èœã§ãã
ïŒïŒæ€çŽ¢ãã¹ã远å ïŒsys.path.append()
ãåç« ã®éãã«ã¬ã³ããã£ã¬ã¯ããªã¯âç°å¢å€æ°ã®èšå®âãããªããŠãæ€çŽ¢ãã¹ãšããŠæ±ãããŸããããã以å€ã¯ãã¹ãéã£ãŠãªããšæ€çŽ¢ãã§ããŸãããã
ãPythonã§ãã¹ãéãå Žåã¯sys.path.append('path')ã䜿çšããŸãã
ããã¹ãéããšãã®æ³šæç¹ã
âãã¡ã€ã«å®è¡æã ããã¹ãéããããã¡ã€ã«ãéãããšãã¹ã®èšå®ã¯ãªã»ãããããŸãã
âsys.pathã®ãªã¹ãã«appendããããæå®ãã¹ã¯äžçªåŸãã«å ¥åãããŸããã€ãŸãåžããæåŸã«æ€çŽ¢ããããããåã®æ€çŽ¢ãã¹ãšå¹²æžããªãããšã確èªããå¿ èŠããããŸãã
[In]
import sys
sys.path.append(r'.KIYO/é©åœã«ååã€ããã')
sys.path[-1] #ãªã¹ãã®äžçªæåŸã®å€ãååŸ
[Out]
'.KIYO/é©åœã«ååã€ããã'ãæ€çŽ¢ãã¹ã®è¿œå (sys.pathã®ç·šé)æ¹æ³ãšããŠãç°å¢å€æ°PYTHONPATHãããããŸããè§Šã£ãŠã¿ããã©é£ããã£ãã®ã§ç޹ä»ãŸã§ã
ïŒïŒã³ãã³ãã©ã€ã³ããåŒæ°ãååŸïŒsys.argv
ãïŒJupyterã§ã¯ãªãïŒpythonãã¡ã€ã«ãã¿ãŒããã«ããå®è¡ãããšãã«åŒæ°ãæž¡ãããå Žåã¯ãããŸããåŒæ°ãæž¡ãå Žåã¯sys.argvã䜿çšããŸãã
ãã¿ãŒããã«çµç±ã§sys.argvã䜿çšãããšãªã¹ã圢åŒã§['ã¢ãžã¥ãŒã«å']ãæž¡ãããåŒæ°ãèšèŒãããš['ã¢ãžã¥ãŒã«å', 'åŒæ°']ã§æž¡ãããŸãããã£ãŠã¿ãŒããã«ããåŒæ°ãååŸãããå Žåã¯sys.argv[1]ãšãªããŸãã
[In]ãnotesys.py
import sys
print(sys.argv)
[Out]
['ãã¡ã€ã«å', 'åŒæ°1', 'åŒæ°2'ã»ã»ã» ]
詳现ã¯äžèšåç
§
åèèšäº
ããšãã
ãåèšäºããsysã ãåé¢ããŸããã