1 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:23:39 ] Python オフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ FrontPage - Pythonのお勉強 python.rdy.jp/ 前スレ pc11.2ch.net/test/read.cgi/tech/1196426978/ ◆関連スレッド Microsoft IronPython 1.0 pc11.2ch.net/test/read.cgi/tech/1157686822/ Python の宿題ここで答えます Part 1 pc11.2ch.net/test/read.cgi/tech/1153585095/ 2ch検索: [python] find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python ◆関連サイト Python ドキュメント www.python.jp/doc/release/ 参考サイト - Pythonのお勉強 python.rdy.jp/wiki.cgi?page=%BB%B2%B9%CD%A5%B5%A5%A4%A5%C8 以上
841 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:44:59 ] >>819 アドバイスありがとうございます。 なんとか作れました。 >>826 違いますよ。 天気予報のサイトから、降雨レーダーの画像をダウンロードして 帰宅する時間に会社のメールアドレスに毎日自動で送信しようと 思ってます。画像を見ればいつ頃雨が降るか、だいたい判断でき るので「あ、雨が降りそうだ。早く帰ろ!」って具合に。 降雨レーダーの画像のファイルですが、200802161640.gifのように ファイル名に日付・時間がついているので、現在の日付、時間をと りだしてファイル名を作り出すスクリプトにこれからチャレンジす るところです。 そんなもんすぐ作れるぞ!という方、答えを教えてもらえると助か ります。(あまえすぎ?) 実用的でおもしろいテーマでは?と自分で思ってます。
842 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:53:39 ] 宛先固定でよくて画像も1つだけなら作ってやらんでもない
843 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:55:03 ] a = (2, 5) b = (3, 4) から c = (6, 20) とか d = (8, 15) とかを計算するのに スマートな方法はありますか?
844 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:02:52 ] for x,y in zip(a,b): print x * y
845 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:05:29 ] もっとスマートな方法ありませんか
846 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:05:42 ] >>> import operator >>> a = (2, 5) >>> b = (3, 4) >>> map(operator.mul, a, b) [6, 20]
847 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:07:41 ] >>> map(operator.mul, a, b[::-1]) [8, 15]
848 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:09:49 ] 複素数型なら組み込みであるぞ とエスパーしてみる
849 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:19:28 ] >>842 おおっ、ぜひ。 >宛先固定でよくて画像も1つだけなら作ってやらんでもない 問題ないです。 www.tenki.jp/rdr/r57_1.html の最新のレーダー画像をダウンロードし、指定のメールアドレスに送信したいです。 画像は10分毎に更新されていますが、更新されるまで10〜20分遅れるようです。 (つまり12:00のレーダー画像は12:10〜20に更新される) できれば17:00〜20:00まで1時間おきに最新の画像をメールで送信したいです。
850 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:20:27 ] >>821 >>824 それマジで危ない 混ぜると死ねるからやめとけ
851 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:22:32 ] >>849 とりあえずメアドをここに晒してくれ
852 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:26:17 ] >>849 img/rdr/Image-20080217171000-357.gif img/rdr/Image-20080217170000-357.gif img/rdr/Image-20080217165000-357.gif 357って福井県っていう意味なのかなぁ
853 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:29:36 ] >>840 >>> fl = [lambda n, x=x: n * x for x in range(1, 101)] デフォルト引数に指定しておくと外部参照にならない 機械伯爵に言っといて
854 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:33:53 ] >>853 同様のことは既に返信されてる
855 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:36:40 ] >>851 仮のメールアカウントつくりました。 python@obento.sakura.ne.jp でお願いします。 >>852 たぶんそうだと思います。 画像の表示地域を変えると数字が変わるので。
856 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:50:41 ] 数字の順序は謎 飛んでるのもある 2187.全国 810.北海道, 820.東北, 830.関東・甲信・北陸・東海, 840.近畿・中国・四国, 850.九州, 860.沖縄 311.宗谷, 312.上川, 313.留萌, 314.石狩, 315.空知, 316.後志, 317.網走・北見・紋別 318.根室, 319.釧路, 320.十勝, 321.胆振, 322.日高, 323.渡島, 324.檜山 331.青森, 332.秋田, 333.岩手, 334.宮城, 335.山形, 336.福島 340.茨城, 341.栃木, 342.群馬, 343.埼玉, 344.東京, 345.千葉, 346.神奈川 348.長野, 349.山梨 350.静岡, 351.愛知, 352.岐阜, 353.三重, 354.新潟, 355.富山, 356.石川, 357.福井 360.滋賀, 361.京都, 362.大阪, 363.兵庫, 364.奈良, 365.和歌山 366.岡山, 367.広島, 368.島根, 369.鳥取 371.徳島, 372.香川, 373.愛媛, 374.高知 381.山口, 382.福岡, 383.大分, 384.長崎, 385.佐賀, 386.熊本, 387.宮崎, 388.鹿児島 391.沖縄, 392.大東島, 393.宮古島, 394.八重山 397.薩南諸島
857 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:57:50 ] >>856 将来的に新しい県が誕生しても 無理なく追加できるようにしているんだと思う
858 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:07:31 ] 374.高知 から 381.山口 まで空きすぎだけど朝鮮でも併合s
859 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:35:23 ] >>818 == >>841 == >>849 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=6059 コードはUTF-8 必要なところは自分で書き換えてね 17:00〜20:00まで一時間おきに実行したいときは cron とかで 10 17,18,19,20 * * * ほげほげと書いておけば可能
860 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:37:44 ] 横から頂いた!
861 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:13:42 ] だめだ、イケメンすぎる f.hatena.ne.jp/images/fotolife/n/nishiohirokazu/20080217/20080217192639.jpg
862 名前:デフォルトの名無しさん [2008/02/17(日) 23:43:15 ] >>841 携帯電話で使うのにメールで送信しないほうがいい。メール放題パケ放題ならまだいいけど、 そうでない場合はパケ代かかりすぎる。 そういうときは無料でレンタルできて広告スペースも小さいホームページを借りて、 天気画像への直リンを埋め込むんだよ。
863 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:43:50 ] >>861 お前彩邸だわ
864 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:14:48 ] >>822 Python3000にnumpyが対応しないような書き方してるけど そのソースは?
865 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:44:27 ] >>832 と書け
866 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:05:49 ] >>859 やったー、動きました。 ちゃんと画像が送信されてきました。ほんとありがとうございます。 こんな短時間で出来るとは859さんのスキルとpythonはすごいですね。 私もこれをきっかけにもっと勉強します!
867 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:07:13 ] 西尾さんはさらに桁が違うぞ
868 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:27:05 ] >>866 メール送ったあと鯖側にファイル残るから いらなくなったら消す処理は入れた方がいいよ
869 名前:デフォルトの名無しさん [2008/02/18(月) 02:05:38 ] u'\xa0'をcp932に変換するとエラーになるんですけど いい方法はありませんか?
870 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:20:26 ] 「いい方法」の内容によるのでは? >>> u"\xa0".encode("cp932", "ignore") '' >>> u"\xa0".encode("cp932", "replace") '?' >>> u"\xa0".encode("cp932", "xmlcharrefreplace") ' ' >>> u"\xa0".encode("cp932", "backslashreplace") '\\xa0' >>> u"\xa0".replace(u"\xa0", " ").encode("cp932") ' '
871 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 10:15:01 ] >>861 死ねよブサカス
872 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:38:07 ] google カレンダーとoutlook同期するだけの pythonなら数日でできそうなソフトがシェアウエアとして結構な値段で売ってる どうなんだ
873 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:39:44 ] >>861 氏ねよクソ メタボ氏しろメガネデブ
874 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:42:05 ] そのシェアウェアのサイトを教えていただけまいか
875 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:11:53 ] 合宿ってこんなの作ってるんですね ttp://www16.atwiki.jp/tokoroten/pages/381.html
876 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:42:23 ] 面白そう www.amazon.com/Book-Python-Real-World-Reference/dp/1593271727
877 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:39:34 ] ttp://www.rubyist.net/~matz/20080214.html#p02 ディスられてるけど大丈夫なのおまいら?
878 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:40:16 ] むしろ相手にしたら負けですよ matzは言語至上主義者matzは言語至上主義者matzは言語至上主義者
879 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:45:56 ] 即レスかよ必死だなあ(ゲラゲラゲラ
880 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:50:13 ] > とは言うものの、Pythonは基本的に良い言語で、不満な点はかなり微妙だ。 > 一般人にはどーでもいいような点だと思う。 なんだ褒めてくれてるじゃないですか
881 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:56:36 ] Matzはシャレでやってるのかと思ったら本気だったんですね
882 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:58:13 ] 中立的立場を上手に演じているとしか思えん 印象が悪くなっているんで、あえて他言語に触れているとしか。 > 雑談していると「PythonはDISらないんですか」と柴田さんから。なんか自虐的じゃない? それただの皮肉ですよー
883 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:02:25 ] と、ITドカタが寒い職場から書き込んでおります
884 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:04:21 ] 職場も寒いが心も寒いです><;
885 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:04:49 ] 結局Guidの下にサインはしたのだろうか
886 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:21:02 ] reduce は functools.reduce になるんだよな
887 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:23:03 ] >>885 Guidoな、Guido。 matzでさえちゃんと書けるのに恥ずかしいぞ。
888 名前:デフォルトの名無しさん [2008/02/18(月) 16:24:51 ] >>877 eRubyがゴミなんだがwww
889 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:45:02 ] pythonのリファクタリングツールでお勧めはありませんでしょうか? emacsで動くropemacsとかいうのはさっき見つけたのですが 他にもあるんでしょうか?
890 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:54:05 ] >876 中級編(応用編)なくっくぶっくって感じかな?
891 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:14:23 ] >>885 ttp://coreblog.org/ats/moblog2008-02-14-16-25 下なのかわからんがサインしてるぞ. この人たちは、日中からプログラミング言語談義なんて優雅だなあ. それにくらべて俺たちは...orz...
892 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:15:01 ] >>891 ホームページ作者乙
893 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:16:54 ] ホームページって懐かしい響きだな しかしNo StarchのPython本は本当に出るのかな 出来がよければオライリーかMYCOMあたりに訳して出してほしいもんだ
894 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:24:07 ] >>877 柴田さんひどいな
895 名前:デフォルトの名無しさん [2008/02/18(月) 19:44:30 ] >>877 間違いだらけのとんでもないようだと思うから気にしないwww
896 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:38:24 ] >895 日本語でおk。
897 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:42:11 ] >式と文の区別が明確。 明確で何が悪い。 >インデントベースだとeRubyのようなテンプレートが難しい どうでもいい。 >ブロックを含む式を持てない。Haskellみたいにブレースを使えば式にできるといいのに ブロックを含む式とかいらない。それが重要だと思ってるのお前だけ。 >reduceがなくなる だれも使わないのでなくなる。それで悲しんでるのお前だけ。 >generator難しい。yieldを書くと戻り値が変化するってのはどうよ 言ってることが意味不明です。 >list comprehensionが難しい。英語人には人気みたいだけど 難しくありません。 >[x for x in ary if cond(x)] >ってのはわからないでもないけど、 >ary.map{|x|cond(x)} >の方がすっきりしている、と思う。 これって、比較対象は[cond(x) for x in ary]じゃないのか? んでもって、ary.map{|x|cond(x)}の方が記号が多くてごちゃごちゃしておる。全然すっきりしておらん。
898 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:47:06 ] そんなどうでもいいことより「自己書き換えが出来ない」という明確な 欠点があるのになんでそういうのは指摘しないんだろうね
899 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:47:53 ] >>897 それ米欄にでも書けよ(w Python使いって暗いな〜
900 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:50:39 ] reduceはわざわざなくすことないのにって俺も思ってるけどな あれはリスト内包とかでも簡単に代用できんし
901 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:55:26 ] >>900 __builtin__ から消えるだけで functools に残るから別にいいのでは?
902 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:58:05 ] 900はMatzと同レベルの無知野郎
903 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:58:49 ] >>898 >「自己書き換えが出来ない」という明確な欠点 kwsk
904 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:01:48 ] >>generator難しい。yieldを書くと戻り値が変化するってのはどうよ >言ってることが意味不明です。 def func(): return なんとか だと、func()の戻り値は関数の実行結果なのに def gen(): yield なんとか だと、gen()の戻り値が関数の実行結果じゃなくてジェネレータに変わっちゃうっていうのはどうよ ってことだろう つまり、同じdefキーワード使ってるのにyieldの有無で戻り値の扱いが違うのはおかしい と言いたいのだと思う
905 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:07:44 ] 値を戻す、っつーか継続してるのでいいんじゃね?、と思うんだが たしかに頭の悪い人には概念がわかりづらいけどな>ジェネレータ
906 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:08:37 ] >>898 >「自己書き換えが出来ない」という明確な >欠点 ドキドキ...
907 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:18:15 ] >>901 トン 組み込みから無くなるけど、ライブラリに移るのは一応知ってた。 import必要になるし、遅くなると嫌だなーと思ってたんだけど、 ネイティブコードで実装されてればかわらんのかな?
908 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:23:14 ] Matzは自己書き換えすべきときにきていると思う
909 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:25:34 ] 誰がうまいこと言えと(ry
910 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:03:59 ] Pythonは自由がないとか言われてるが これほど自由な言語はないと思うぜ‥
911 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:22:57 ] RubyスクリプトをPythonで書き直したらすっごく読みやすくなったよ! 人それぞれだろうけど…
912 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:28:02 ] そしてそのPythonスクリプトをRubyで書き直すとさらに読みやすくなるという
913 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:31:19 ] >>872 >>874 syncmycal.com/
914 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:43:22 ] >>911-912 無限ループしたらすごくね?
915 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:35:53 ] @hogeとか#{hoge}みたいな、記号があるのが好きか嫌いかじゃまいか
916 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:52:41 ] 嫌い。 終了。
917 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:56:03 ] >>897 Rubyのコードを直そうよ ary.map{|x|cond(x)}.select{|x|x} よく知らんけどこんな感じか。
918 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 04:00:59 ] 少なくともすっきりはしてないな
919 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 04:27:39 ] pythonって80行ルールとかPEPで決められてたっけ ひとによってスタイルが違うだけとか?
920 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 04:31:04 ] > 80行ルール 一行80文字までってやつのこと?
921 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 05:32:25 ] >>919 それはPythonだけじゃなく、 他の言語および文書でもマナーになってるよ。 ライセンス文とかね。
922 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 07:20:43 ] 自己書き換えができないってLispとの比較か? んなことを好むのはLisperだけだし。
923 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:49:40 ] >>919 PEP8 で書かれてる >Limit all lines to a maximum of 79 characters. ttp://www.python.org/dev/peps/pep-0008/ ttp://www.oldriver.org/python/pep-0008j.html
924 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 15:25:03 ] >>921 >>923 dくす nitems=[] for item in items: item = item.rstrip() nitems.append(item) items=nitems items = [e.rstrip() for e in items] リスト内包記法、便利だけど、lamdaを使用したコードとか GUI関連のコードだと80行超えちゃいそうな印象があるような…
925 名前:925 mailto:sage [2008/02/19(火) 15:25:33 ] ワードラップは、エディタ・IDE側に委ねちゃえばええやん、 いう考えもあるような気がします。C#とかJavaとか。この辺は あまり正解がないような…おおまかな規約はあるほうがいい かもしれないし、別段なくても良いような気もします… > 関数の引数を折り返すときとか クロージャが苦手だったりJavaの内部匿名クラスみたいなの とか思ったら journal.mycom.co.jp/articles/2006/08/23/java7closuer/004.htm blogs.wankuma.com/kacchan6/archive/2008/01/27/119480.aspx うまいことまとめてきてて吹いた.
926 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:32:06 ] >>924 >リスト内包記法、便利だけど、lamdaを使用したコードとか >GUI関連のコードだと80行超えちゃいそうな印象があるような… ( ) や [ ] でくくられた中は改行自由だからリスト内包でそこが問題になる事はないよ もっとも Python 離れした複雑怪奇な表記になっちゃう可能性ならあるけど
927 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:36:01 ] >>924 行なのか桁なのか?
928 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:38:45 ] 80桁越えたらforループなりジェネレータに展開する目安
929 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:09:05 ] SQL文みたいな感じになりそうだ
930 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:23:05 ] リスト内包で80行か すさまじい量だな
931 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:53:37 ] hashableな集合型ってありませんか? setを別のsetの要素にする際に、いちいちwrapper classを作って_ _hash__と__eq__を定義するのが面倒です。 Javaみたいに出来ないのかな。
932 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 19:00:55 ] お探しのものはfrozensetでしょうか
933 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:02:14 ] frozensetはimmutableなのでちょっと… もちろんそれで済む場合もありますが
934 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:06:50 ] 一度実装してPYTHONPATHの下に置けばおk
935 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:41:37 ] >>933 mutableなものをsetに入れる意味が判らない。 具体的に何がしたいんだ?listの中にsetを入れたほうが良い予感がするぞ?
936 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:21:27 ] 要約すると、厨房のITドカタは貧死しろってことだろ?
937 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:44:39 ] mutableでハッシュしようというのが分からんが・・・
938 名前:デフォルトの名無しさん [2008/02/20(水) 15:29:04 ] pythonの対話モードって便利ですよね。
939 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 15:45:23 ] help, dir も便利
940 名前:デフォルトの名無しさん [2008/02/20(水) 16:59:32 ] pythonで何か面白いWEBサービス作りたいな。 何か題材教えてよ
941 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:32:29 ] 今Pythonを勉強しているんですが、本に書いてあるように、testmodule.pyというのを作ることは できたんですが、それをインタラクティブシェルでimportすることができません。 本では「ファイルを保存したディレクトリでPythonを起動する」と書いてありますが、方法が よく分かりません。すいませんが教えてください。 OSはubuntuです。