[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/16 12:29 / Filesize : 299 KB / Number-of Response : 1055
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その39



1 名前:デフォルトの名無しさん [2018/08/24(金) 07:50:35.97 ID:VD4/++xS.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/

69 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 10:09:58.87 ID:zNgJ3vFs.net]
住友と関係が?

70 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 17:38:59.31 ID:zHN7x4pt.net]
xmlの属性を指定する場合、以下のどっちも同じ答えを返してくれるんですが、どっちで書くのがいいんでしょうか?

パターン1
duration1 = int(root.attrib["dur"])
print(duration1)

パターン2
duration2 = int(root.get("dur"))
print(duration2)

71 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:50:21.16 ID:+JD/mPB3.net]
BeautifulSoup前提で喋ってます?
もしそうなら、属性が存在する限りどちらでもよい
getは属性が存在しないときNoneを返すが、attribはそうではない
まあ試してみ

72 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:54:41.40 ID:zHN7x4pt.net]
>>67
どうもありがとうございます
xml.etree.ElementTreeです
たしかに存在しない場合の挙動は違ってました

73 名前:デフォルトの名無しさん [2018/08/29(水) 21:03:23.42 ID:LyGOIS06.net]
すいません日付の計算で疑問なんですが、

aaa_date_str = '2018-08-29 20:00:00'
bbb_date_str = '2018-08-29 19:00:00'

aaa_date = datetime.datetime.strptime(aaa_date_str, '%Y-%m-%d %H:%M:%S')
bbb_date = datetime.datetime.strptime(bbb_date_str, '%Y-%m-%d %H:%M:%S')


として、

date_diff = aaa_date - bbb_date
print(date_diff.days)
--> 0

になりますが、逆にすると、

date_diff = bbb_date - aaa_date
print(date_diff.days)
--> -1

になります。

差異が1日に満たなければゼロになるのかと思いきや
計算結果が負だとゼロにならずに-1になるのがなんか疑問です。
それとも記述に問題あるでしょうか。

74 名前:デフォルトの名無しさん [2018/08/29(水) 21:09:31.82 ID:GQLl9uCt.net]
>>69
3.0-3.1=-0.1だろう?0じゃないだろう?
そういうこった

75 名前:デフォルトの名無しさん [2018/08/30(木) 10:23:36.80 ID:S/vwwZyF.net]
int()とかと一緒か
[0.5]=0
[-0.5]=-1

76 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 21:55:04.51 ID:hf8/OGEv.net]
>>70
すいません、分からず…

逆に、3.1 - 3.0 = 0.1 はdaysだと0になるんです。

>>71
int()だと、正も負も小数点以下切り捨てではないですか?

77 名前:デフォルトの名無しさん [2018/08/30(木) 21:59:01.86 ID:Ffnu7dR5.net]
>>72
68が言ってるようにたぶん四捨五入なんだず



78 名前:デフォルトの名無しさん [2018/08/30(木) 21:59:56.98 ID:Ffnu7dR5.net]
おっと 1時間でも -1ってでるのか
じゃあ
時間は切り捨てじゃなくて四捨五入でもなくて切り上げになってんだ

79 名前:デフォルトの名無しさん [2018/08/30(木) 22:19:45.36 ID:Ffnu7dR5.net]
おっと
おれのうしろで
おれのいもうとが
「そのマイナス1はエラー値であって 数値じゃない diff.daysはぬるぽしない」
といっている

80 名前:デフォルトの名無しさん [2018/08/30(木) 22:29:53.78 ID:Ffnu7dR5.net]
それから
なぜ print(date_diff)してみないんだ
ともいっている

81 名前:デフォルトの名無しさん [2018/08/30(木) 22:42:08.44 ID:Ffnu7dR5.net]
おれは
aaa_date + date_diff
をためしてみてから、
timedeltaについての説明を読みに行くことを最終的におすすぬする。

82 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 23:01:55.56 ID:TEO8FkA/.net]
別マシンで書いたスクリプトを動かそうとしたら
dateutilが無いと言われ実行出来ません。

スクリプトにはこう書きました。
from dateutil.relativedelta import relativedelta

動いたマシンのPythonのバージョンは3.6.4、
動かないマシンのPythonのバージョンは3.6.5です。

dateutilはどこで入手するんでしょうか?

83 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 23:04:27.25 ID:TEO8FkA/.net]
すみません
pip で dateutilsを入れたら使えました。

84 名前:デフォルトの名無しさん [2018/08/31(金) 04:09:39.70 ID:rWvqNQHt.net]
python 3.6
windows10

import pyautogui

pyautogui.rightClick(100,100)
pyautogui.moveRel(10,10)

と書くと右クリックのあとマウスが動いてくれない。
これはライブラリのバグ?

85 名前:デフォルトの名無しさん [2018/08/31(金) 04:37:56.39 ID:rWvqNQHt.net]
ごめん動いてた

86 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 09:38:10.61 ID:cxARIA2x.net]
罰としてお前の

87 名前:ヒ起という突起をクリックしてやる []
[ここ壊れてます]



88 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:38:51.59 ID:IH56D7c/.net]
Dropboxの共有リンクを取得したいです。
dropbox.Dropbox(トークン).sharing_create_shared_link
を使うと、例えば
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行が出力されます。
sharing_create_shared_link以外の関数で、
https://db.tt/xxxxxxxだけを出力する関数ってありますか?

続く

89 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:39:30.70 ID:IH56D7c/.net]
sharing_create_shared_linkだと、以下のようになります。

import dropbox

dbxTOKEN = 'DROPBOX_MY_ACCESS_TOKEN'
dbxRemotePath = f'/aiueo/hage.jpg'
dbx = dropbox.Dropbox(dbxTOKEN)
dbx.users_get_current_account()

# アップロード
f = open(dbxLocalPath, 'rb')
dbx.files_upload(f.read(),dbxRemotePath)
f.close()

# 共有リンクの取得
dbxLink = dbx.sharing_create_shared_link(dbxRemotePath,short_url=True) # Dropbox から共有リンクを取得
dbxLink = str(dbxLink)[17:-1] # 整形 「PathLinkMetadata(」と「)」を除外
dbxLink = dbxLink.split(',') # リストに変換
dbxLink = dbxLink[0] # リストの1番目 (url)
dbxLink = str(dbxLink)[5:-1] # 整形
print(dbxLink)

https://db.tt/xxxxxxx # プリントされたurl

つづく

90 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:40:14.75 ID:IH56D7c/.net]
文字列を分割してその中の一部を取り出す方法ですが、
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行があったとして、

url='https://db.tt/xxxxxxx',
visibility=Visibility('public', None),
path='/hoge/hage.jpg',
expires=None

こんなふうに分割したいです。
split(',')でやるとpublic', Noneここのコンマでも反応してしまいます。
今回はurlの取得が目的なので今の所実害は無いんですが、もっと簡単にdorpboxの共有リンクを取得したり確実な文字列の分割方法を知りたいです。

91 名前:デフォルトの名無しさん [2018/09/01(土) 12:32:11.32 ID:Z1lBiRzX.net]
>>85
ずいぶん遠回りしてるけど、
a=dropbox.Dropbox(トークン).sharing_create_shared_link
として、
a.url
を参照すれば良いのでは?
他についても
a.path とかで参照できるはず

92 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 15:22:01.82 ID:5RO4iQNV.net]
すいません、ハマって困っています。

utf-8のテキストファイル(内容は'1'という文字のみ)を、python3の以下のスクリプトで
読み込んで、整数に変換しようとすると、以下のエラーが出て困っています。
Traceback (most recent call last):
File "collect_progress.py", line 75, in <module>
num = int(str)
ValueError: invalid literal for int() with base 10: '\ufeff1'
ユニコードの文字列は整数変換できないのでしょうか。

fr = open("sample.txt")
str = fr.readline()
num = int(str)

93 名前:デフォルトの名無しさん [2018/09/01(土) 15:26:08.43 ID:VfnjVYeD.net]
BOMついてないか

94 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 15:37:12.61 ID:kUpkBQ3x.net]
echo 1 | ruby -e 'STDIN.each { |line| puts(line.to_i + 1) }'

Ruby なら、シェルから、1-liner で、2 と出力される

Python でも同じように、1-liner でやってみれば?

95 名前:デフォルトの名無しさん [2018/09/01(土) 15:55:11.65 ID:A/mNPeDe.net]
>>87
open("sample.txt", encoding="utf-8-sig")

> いくつかの領域では、UTF-8 でエンコードされたファイルの先頭に "BOM" を利用する習慣があります;

中略
> もし、そのようなファイルを読む場合には、この印を自動

96 名前:的にスキップするために 'utf-8-sig' コーデックを利用してください。
https://docs.python.org/ja/3/howto/unicode.html#reading-and-writing-unicode-data
[]
[ここ壊れてます]

97 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:02:39.43 ID:kUpkBQ3x.net]
プログラムでは、BOMなしUTF-8 (UTF-8N)を使った方が無難

その代わり、Windows のExplorer ではテキスト検索できなくなるから、
Windows10・WSL・Ubuntu から、grep してる



98 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:30:27.70 ID:eWdCnGo4.net]
>>86
どうもありがとうございます!
.urlなどで簡単に取り出せました。
これはdropboxのライブラリの機能でしょうか?

99 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:55:46.47 ID:5RO4iQNV.net]
>>88, 86, 87, 88
ありがとうございます。
BOMが原因でした。

恥ずかしいことに、BOMというのは全く知りませんでした。
助かりました。

100 名前:デフォルトの名無しさん [2018/09/01(土) 20:51:46.35 ID:5sfxmNQl.net]
>>92
まあそうだと思う。
自分はDropboxライブラリを使ったことはないけど、>>83を見ると戻り値としてPathLinkMetadataオブジェクトが返ってきていて、属性としてurlとかpathとかがある事がわかった(これはpython的に考えればわかる)

使うメソッドとかについてはドキュメント読むと今回みたいなことはすぐ分かるだろうし、勉強にもなるよ

101 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 23:59:25.43 ID:eWdCnGo4.net]
>>94
.sharing_create_shared_linkはドキュメントの中で見つけた関数なんですが、英語分からないから試行錯誤していました
ありがとうございます

102 名前:デフォルトの名無しさん [2018/09/02(日) 05:35:01.36 ID:0w6R8dvF.net]
Python初心者(プログラミング初心者)です。
スクレイピングをしようとしていたら躓いてしまったので質問をさせてください。
requestsで変数htmlに入れたサイトのhtmlをファイルに保存したいのですが良く分かりませんでした。
file.writeみたいなのも書いてみてるんですがエラー吐かれたりします。誰か例として作ってくれませんか?
requests.getで変数htmlに取得したサイトhtmlをc:/user/hoge/Documents/hymlfile.htmlに追記モードで保存したいです。
無能でごめんなさい助けてください。

103 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 07:13:26.28 ID:5WqNet32.net]
File.open(file_path, 'a') { |io| io.write text }

Ruby では、File.open の引数に、
ファイルパスと、ファイルを開く際の、mode を渡す

a なら追記書き込み

「python file write」で検索!

104 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 08:24:22.51 ID:GLq4HnWW.net]
import requests

r = requests.get("https://www.python.org")
f = open("c:/user/hoge/Documents/hymlfile.html", "a")
f.write(r.text)

105 名前:デフォルトの名無しさん [2018/09/02(日) 09:00:47.26 ID:0w6R8dvF.net]
>>98
てゃんks
無事解決しました本当にありがとう
やっと眠れtる

106 名前:デフォルトの名無しさん [2018/09/02(日) 16:47:00.30 ID:RE+xVvI9.net]
f.write(r.text)

UnicodeEncodeError: 'cp932' codec can't encode character '\U0001f5a5' in position 12657: illegal multibyte sequence

スクレイピングしたサイトに絵文字があると(?)このエラーが起こるようです。
エンコーディングの関係だと思うんですけど対処法分かる方いますか?
UnicodeEncodeErrorで調べたら解説しているところが少し見つかったんですが僕には何が言いたいのかさっぱりでした。。。。

107 名前:デフォルトの名無しさん [2018/09/02(日) 16:56:55.96 ID:RE+xVvI9.net]
f.openの時にencoding='utf-8'渡したら解決しました!!
うれしい!!!ありがとう



108 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 16:59:32.33 ID:5WqNet32.net]
cp932 はやめて、BOMなしUTF-8(UTF-8N)で書き込めば?

それか、エンコード

109 名前:変換できない文字は、
エラーにせずに、? に置き換えるとか
[]
[ここ壊れてます]

110 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 17:49:53.80 ID:B4IY8jcq.net]
ElementTree、lxml、BeautifulSoupってそれぞれどう違うの?

111 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 17:51:26.55 ID:B4IY8jcq.net]
ElementTreeは純正
lxml、BeautifulSoupはサードパーティ

lxmlは高速だけど、動的なサイトに弱い
BeautifulSoupは比較的簡単

って感じ?

112 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 19:12:56.97 ID:dvfcpVZJ.net]
何が言いたいのか

113 名前:デフォルトの名無しさん [2018/09/02(日) 19:26:55.59 ID:/VgxTU/I.net]
開けっ放しにするんはいけんよ

114 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 20:28:17.67 ID:NdoNeabl.net]
lxml 言う程速さを感じないんだよな

115 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 01:13:17.00 ID:IUTdxFc1.net]
import requests
from lxml import etree

url = example.com
res = requests.get(url)
res.raise_for_status()
xmlroot = etree.fromstring(res.content)
progroot = xmlroot.find(なになに)
aaa = progroot.find(info)
print(aaa)

<Element info at xxxxxx>
がプリントされます。

aaa = progroot.find(info).text
とすると、

<div class="station_content_description "><table border="0" cellpadding="5" > <tr> <td style="padding: 5px;">
<img src="https://example.com/aaa.jpg" height="60" width="60"alt="ふじこ"></td> </tr></table><br />
<br /> あいうえお<br />かきくけこ
<br /><br /> 番組Webサイト:<a href="example.com/">http://example.com/</a><br />
メッセージフォーム:<a href="example.com/mail.html">http://example.com/mail.html</a><br />
<br /></div>

がプリントされます。(投稿できなかったので途中で改行してます)
次に、本文はどうやって取り出すんでしょうか?

116 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 01:49:47.20 ID:BfF9DJB1.net]
要素の内側のテキストを収集するためには、itertext() を参照してください。例えば "".join(element.itertext()) のようにします。

117 名前:デフォルトの名無しさん [2018/09/03(月) 19:12:05.50 ID:ttVcJTrG.net]
Ruby のNokogiri なら、CSS セレクター・XPath とか

jQuery でも、CSSセレクター



118 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 00:43:50.19 ID:YKdnoVr6.net]
```python
hstg = info.get('hashtags')
print(hstg)

# hashtag

p_url = info['url']['short']
```

p_urlの行をget()だとどう書けばいいですか
辞書にアクセスした時存在しないキーだとNoneを返したいんでget()を使いたいんですが

119 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 01:06:41.32 ID:9wgcxN1e.net]
ようわからんが
info.get('url', {}).get('short')
とか?

若干無駄があるがこの程度の無駄が気になる神経症はCでも書いとけ

120 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 02:03:26.11 ID:YKdnoVr6.net]
>>112
どうもありがとうございます!
試してみます。
{}の中に'short'が入るイメージでしょうか?

121 名前:デフォルトの名無しさん [2018/09/06(木) 14:42:12.77 ID:tPMc56fx.net]
馬鹿はオウム返しですぐ次の質問するよね

122 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 15:13:17.47 ID:QdhwFBW3.net]
python 3.6.3
tkinter でファンクションキーを押したら文字列を表示させたいです

def text _desp(event):
  label["text"] ="bcdef"

label =tk.Label(root, text ="aaaaa", )
label.bind('<F1>', text_desp)
label.pack

と書いて、表示したウィンドウをアクティブにしてからF1を押してもtextが入れ替わりません
原因は何でしょうか?

123 名前:デフォルトの名無しさん [2018/09/06(木) 16:49:56.62 ID:ntAiYVJq.net]
インタプリタ言語最強

124 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 17:12:39.45 ID:QdhwFBW3.net]
>>115
rootにbindしたらいけました
すみません

125 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 18:22:16.04 ID:t3mpF7WK.net]
VSCodeの「ターミナルで選択範囲/行を実行」って機能をよく使うんですけど
作ってる最中のfor文内(1行目がインデントしてるテキスト)をテストしたいときは
インデントを一時的に消して実行するしか無いんですかね?

IPythonなら1行目がインデントしてても実行してくれるけど
あれはターミナルにフォーカスを移してEnterを押さないと

126 名前:タ行してくれないのが不満だし []
[ここ壊れてます]

127 名前:デフォルトの名無しさん [2018/09/06(木) 18:56:40.11 ID:r2CzgwVn.net]
馬鹿はオウム返しって言うの好きだよね



128 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 19:24:48.49 ID:UI2giREj.net]
VSCode の拡張機能のCode Runner を入れたら、
右クリックメニューから、そのまま実行できる

または、選択したコードを実行できる

129 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:13:55.88 ID:fyvsaEga.net]
入門書で学んでるプログラミング初学者です。
数字以外を入力した場合に「不正な値です」と表示させたいのですが計算を間違えた際にも「不正な値です」と出てしまいます。
どこを直したらいいでしょうか?
from random import randint
miss = 0
correct = 0
print("問題?3回間違えたら終了。qで終了")
while miss<3 :
a = randint(1,100)
b = randint(1,100)
ans = a + b
question = f" {a} + {b} は?"
value = input(question)
#qと入力されたら終了
if value == "q":
break
#正解か不正解か判断する
if value == str(ans) :
correct += 1
print("正解です!")
elif type(value) != int :
print("不正な入力です。")
else :
miss += 1
print("間違い!","×" * miss)

print("----終了----")
print("正解 :", correct)
print("間違い:", miss)

130 名前:デフォルトの名無しさん [2018/09/06(木) 21:16:02.79 ID:r2CzgwVn.net]
当っとるからええやん

131 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:16:08.52 ID:fyvsaEga.net]
あれ、書き込みにインデントが反映されてない…

132 名前:デフォルトの名無しさん [2018/09/06(木) 21:33:42.86 ID:rG7JeulO.net]
>>123

ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除

>>1

133 名前:デフォルトの名無しさん [2018/09/06(木) 21:46:28.09 ID:r2CzgwVn.net]
>>121
真面目に添削すると

数字意外を入力した場合に「不正な値です」と表示する
→数字でないならそもそも値ではないやんか、何言っとんやわれ?なめとんか?
「不正な入力です」と表示する
→不正というワードは否定形なのでわかりにくい
「間違った入力です」と表示する
→何が間違っているのかわからない
「数字以外の入力です」と表示する
→だからどうすれば良いのかわかりにくい
「数字を入力してください」と表示する
→漢数字でもええんか?
「答えになる数値を入力を入力してください」と表示する
→めっちゃわかりやすいやん!

134 名前:デフォルトの名無しさん [2018/09/06(木) 21:56:28.45 ID:bpm1lb7O.net]
>>121
assert使うといいよ

135 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 00:32:30.89 ID:hV93LKBw.net]
>>124
すみません。テンプレ読み直します。
>>125
ありがとうございます。何気にすごく重要なことを教えてもらった気がする。
>>126
試してみます。

136 名前:デフォルトの名無しさん [2018/09/07(金) 16:30:33.98 ID:DKf48tK4.net]
>>125
イイネ!(・∀・)ワロタヨ!

137 名前:デフォルトの名無しさん [2018/09/07(金) 17:07:52.42 ID:82uhpEUK.net]
>>121
valueはstrだから、たとけ入力されたのが"123"とかの数'字'であってもtypeはstrになる
つまり、自分で明示的に型変換をしない限り何を入力してもtype(value)==intが成り立つ事はない

入力を受け取ったらまず最初にvalueをintに型変換したら?
int(value)でできるし、変換できない文字列が入って来たらエラーになるので例外処理で不正な入力も検知できるよ



138 名前:デフォルトの名無しさん [2018/09/07(金) 17:26:59.78 ID:po/zaTpZ.net]
たとけ

139 名前:デフォルトの名無しさん [2018/09/07(金) 18:10:30.75 ID:DKf48tK4.net]
たとけ

140 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 18:16:00.07 ID:QgSvA/nW.net]
とたけけ

141 名前:デフォルトの名無しさん [2018/09/07(金) ]
[ここ壊れてます]

142 名前:20:30:20.91 ID:DKf48tK4.net mailto: とたけけけ []
[ここ壊れてます]

143 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 02:42:10.64 ID:zJ7GwxeF.net]
import dataset

db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']

results = table.find(damages = '大けが')

# for record in results:
# print(record)

if results == None:
print('無いです')
else:
print('ありました')
print(results)


カラムの 『damages』 が 『大けが』 のレコードがあるか無いか知りたいんですが、当たり前だけどこれだとダメでした。どうやってあるかないかを調べたらいいんでしょうか?

144 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 03:07:51.29 ID:zJ7GwxeF.net]
自己レスです。
これで出来たっぽいけど他にもっといいやり方ありますか?


import dataset

db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']

results = list(table.find(damages = '大けが'))

# for record in results:
# print(record)

if results == []:
print('無いです')
else:
print('ありました')
print(results)

145 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 07:56:53.17 ID:aeU58kvm.net]
>>129
丁寧にありがとうございます。
なるほど…例外処理でやってみます。

146 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 08:21:40.63 ID:BJl7Ln5g.net]
こんにちは。
pycharm という便利なものがあるとのことでさっそく使ってみました。
最新版の"PyCharm Community Edition 2018.2.3"をWindows 10 にインストールし、
プロジェクトの設定の"Existing interpreter"に、普段使用している cygwin64 の "python3.6m.exe"を
指定しました。IDEからRunすると問題なく実行されるのですが、ブレークポイントを設定して
Debugを実行すると、

pydev debugger: warning: trying to add breakpoint to file that does not exist: /cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py (will have no effect)
という、ファイルが存在しないというエラーが出来ます。
cygwinのパスの表現と、windowsのパスの表現が合体した変なパス名が表示されます。
3台のPCで試したのですが、全部同じ結果でした。解決する方法はありますかねぇ。
(こちらの都合でcygwin環境が必須になっています)

147 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 08:54:48.94 ID:LzkjeqyB.net]
>/cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py

Windows10・WSL で、Linux(Ubuntu)側から、Windowsのフォルダへアクセスしたような感じかね?

/mnt/c/Users/Owner/Documents

Ubuntu側から、WindowsのDocumentsフォルダへアクセス



148 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 09:21:46.04 ID:r9+/L/Cg.net]
>>135
試さずに書くけど、元のコードのfindをfind_oneに変えるか、
元のコードの条件文をif len(results) > 0:に変えれば動くんじゃない?

149 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 10:40:12.37 ID:BJl7Ln5g.net]
>>138
ありがとうございます。
もしかしたら、リモート(ssh)で接続するのが正解か?と思い始めました。
どうでしょうか。

150 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 12:03:41.47 ID:TO1NWAp1.net]
変数名つける時って何語くらいまででつけますか?
詳しく説明すると長くなるし、短いとかぶるし、省略とか頭文字みたいなのは良くないらしいですが
参考文献とかあったら教えてほしいです。

151 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 12:43:49.56 ID:cbJtO1ny.net]
リーダブルコードでも読んでこい

152 名前:デフォルトの名無しさん [2018/09/08(土) 21:24:47.08 ID:JF6Ma/9C.net]
標準ライブラリとかメジャーなフレームワークコードのコード読んで好きなの選べばいいじゃん

153 名前:デフォルトの名無しさん [2018/09/08(土) 23:13:29.87 ID:fPoBP/2C.net]
>>141
頭文字で名付けても手にとるように意味がわかるコードが良いコードやね

154 名前:デフォルトの名無しさん [2018/09/09(日) 11:20:55.79 ID:kzlGF2pO.net]
ジェーン台風のJって台風10号だってすぐ判るネーミングやね

155 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:08:53.74 ID:pN0oDaL+.net]
rssを表示したいんだけど、行末が『ます。』のものだけを表示することにしてます。もし、1行も『ます。』がなくて表示すべきものが

156 名前:全く無かった場合はforループの後に別の処理をしたいんだけど、やり方教えてほしいです。

for e in entri:
title = e['title']
title = title.split(" - ")[0]
summary = e['summary']
summaryList = summary.split("分")
dateTime = f'{summaryList[0]}分'
chuihou = summaryList[1]
if title[:6] != '[ PR ]':
if summa[-3:] == 'ます。':
print(f'{title} {dateTime}')
print(chuihou)
[]
[ここ壊れてます]

157 名前:デフォルトの名無しさん [2018/09/09(日) 16:26:44.95 ID:XnExmf42.net]
5chは連続する半角スペースを消してしまうから
インデントが崩れる

(インデント崩さず)ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除



158 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:33:13.24 ID:pN0oDaL+.net]
どうもすみません
以下のコードです
https://pastebin.com/PCvvn322

159 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:06:15.73 ID:0ym3cmgA.net]
counter = false

ループ処理 { 1件でも処理したら、counterをtrue にする }

もし、counterがfalseのままなら{ 処理 }

160 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:17:25.83 ID:pN0oDaL+.net]
>>149
どうもありがとうございます
うまくいきました。

161 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:08:48.04 ID:pN0oDaL+.net]
forループの続きなんですが、「to」が「imanoJikan」よりも先の項目が見つかったら直近のひとつだけ取得してループを終了させる方法おしえてほしいです

https://pastebin.com/hUp7pyTB

162 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:26:11.91 ID:sFuHefah.net]
printの下に同じインデントで
break

163 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:29:15.01 ID:pN0oDaL+.net]
>>152
おおお!
ありがとうございます

164 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 00:27:49.39 ID:8UsAQXCT.net]
えぇ…

165 名前:デフォルトの名無しさん [2018/09/10(月) 08:53:06.79 ID:iZVjiAgO.net]
python卒業します
これからはjsと戯れます

166 名前:デフォルトの名無しさん [2018/09/10(月) 08:54:23.89 ID:iZVjiAgO.net]
さようならみんな
sys.exit()

167 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 09:37:57.70 ID:SBVp+ZlE.net]
達者で



168 名前:デフォルトの名無しさん [2018/09/10(月) 13:25:23.61 ID:nF+UxiuD.net]
>>155
え!え?
そこは、普通 jsではなく
juliaだろ?

println("Hello julia")
女子小学生より31歳のお姉さまだろ、普通
https://i.imgur.com/mFtwafs.jpg

169 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:29:25.45 ID:C7zSAi11.net]
subprocessで実行したコマンドの出力の最後の1行と終了ステータスを取得する方法教えてください!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<299KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef