Pythonのお勉強 Part71

■ このスレッドは過去ログ倉庫に格納されています
2023/09/20(水) 09:13:41.41ID:u6xixiUt0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/10/17(火) 00:20:02.64ID:KXoPz/N40
まずはconfig.readの戻り値を確認
2023/10/17(火) 03:17:56.82ID:gqGJp+iF0
>>394
anacondaつかわずに
Pythonをインストールする
399デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/17(火) 05:51:43.89ID:hOrq7F7ga
config.read("./config.ini")
400デフォルトの名無しさん (ワッチョイ d9d3-VGqS)
垢版 |
2023/10/17(火) 09:39:25.08ID:IfpwnPMt0
config.iniの書き方なのでは
2023/10/17(火) 13:58:02.86ID:W1mvng0kd
>>397,400
ありがとうございます。
返り値はNoneでした。
また、"./config.ini"やフォルダをつくって
"./config/config.ini"やフルパスも試しましたができませんでした。

何か環境構築が間違っている可能性があったりするのでしょうか?

GoogleColabではエラーなく実行できるのに・・・
(;´д`)
402デフォルトの名無しさん (JP 0H25-Fhx2)
垢版 |
2023/10/17(火) 14:15:23.43ID:lA46vkBGH
GoogleColabではいくつかのモジュールが最初からインストールされている。
Vscodeでは必要なモジュールをpipでインストールする必要があるのでは?
403デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/17(火) 14:26:21.59ID:vCPpyEw2a
もしそうなら
import configparser
でエラー出てるはずだけどそこは出てないんだろ
404デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/17(火) 14:32:36.89ID:vCPpyEw2a
vscode 内の python から観て './' が実際はどこなのかを確認した方が良いな
print(os.path.abspath('./'))
print(os.path.abspath('.'))
2023/10/17(火) 15:06:00.27ID:HxEc0Y/V0
>>396
そのコードのままだと
config.read(".\config.ini") はcolabでは読み込めなかったな
もしそのまま移植したって場合に
元はconfig.read("./config.ini")だったけど移植作業中に
".\config.ini"とか"絶対パス.\config.ini"になっちゃったとか?
2023/10/17(火) 15:06:09.46ID:T5fw5RAV0
>>396
そのコードのままだと
config.read(".\config.ini") はcolabでは読み込めなかったな
もしそのまま移植したって場合に
元はconfig.read("./config.ini")だったけど移植作業中に
".\config.ini"とか"絶対パス.\config.ini"になっちゃったとか?
407デフォルトの名無しさん (ワッチョイ d9d3-VGqS)
垢版 |
2023/10/17(火) 15:22:55.43ID:IfpwnPMt0
カレントから読み出すコードは、実行方法や環境によってどこがカレントか変わるんだよな
設定は絶対パスで書くのが無難
408デフォルトの名無しさん (JP 0H25-Fhx2)
垢版 |
2023/10/17(火) 15:25:40.98ID:lA46vkBGH
>>404
正確には

from pathlib import os

print(os.path.abspath('./'))
print(os.path.abspath('.'))
2023/10/17(火) 17:27:49.44ID:idEJG0se0
>>401
>返り値はNoneでした。
config.readはempty listは返すけどNoneは返さないんだわ
インタプリタかデバッガを使って変数の値を確認したり
コードをステップ実行する方法を先に覚えたほうがいいかもしれない
2023/10/17(火) 21:21:59.26ID:u48pYz2N0
>>408の書き方でもいいけど、
os.getcwd()という専用関数があるけどね
VSCodeはタスクランナーの設定でワーキングディレクトリ自由に設定できるからちゃんと設定しないとダメだよ
2023/10/17(火) 22:16:02.73ID:IDqb6kdg0
>>409
返り値が良くわかっておらず、
サンプルコードみてこれかなぁ・・・
という物でしたので、申し訳ありません。
プログラムはあまり手を出したことがなくあまりわかっていない状況です。

また、本来の目的はTwitterの自動投稿BOTの作成でしたので、
コンフィグ読み込みではなくベタ書きして
ビルドしたところ、無事に投稿できたので、
コンフィグ読み込み部分問題かと思っております。

import configparser
config = configparser.ConfigParser()
config.read("./config.ini")

なにか問題があれば、教えて頂けないでしょうか。
412デフォルトの名無しさん (ワッチョイ a910-Fhx2)
垢版 |
2023/10/17(火) 22:54:58.15ID:lA46vkBG0
ファイルの存在チェックを入れないと、ファイル読み込みでファイルが存在しなくてもその部分で特にエラーにならないようだ。
まずはファイルの存在チェックを入れてみては?

参考:このページの最初のプログラムは動いた。違いはencodingかな?
https://qiita.com/mimitaro/items/3506a444f325c6f980b2
413デフォルトの名無しさん (ワッチョイ a910-Fhx2)
垢版 |
2023/10/17(火) 22:58:34.67ID:lA46vkBG0
あ、他に、ファイル名だけで指定するとデフォルトのフォルダが適用される。
./とかいらんだろ。
414デフォルトの名無しさん (ワッチョイ a910-Fhx2)
垢版 |
2023/10/17(火) 23:10:27.55ID:lA46vkBG0
ちなみにPyinstallerでEXE化するのはGoogleColabでもできるらしいぞ。
415デフォルトの名無しさん (ワッチョイ fb90-/4nw)
垢版 |
2023/10/18(水) 08:47:33.24ID:PQ7Pmh1D0
>>411
絶対パスで指定してみたらどうでしょう。
2023/10/18(水) 08:56:15.85ID:wdlP5gm8r
>>411
>>408は試してないの?
■ このスレッドは過去ログ倉庫に格納されています