質問編集履歴

1

コードの追加

2021/09/18 23:56

投稿

umechan2
umechan2

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,184 @@
1
1
  下に示したコードのelifとelseの部分にinvalid syntax とエラーが表示されるのですが,なぜでしょうか.
2
2
 
3
-
3
+ メールアドレスやパスワードの部分はプライバシー保護のためaaaと表記しています
4
+
5
+
6
+
7
+ ```python
8
+
9
+ # ----------------------------------
10
+
11
+ # BTC急上昇・急降下お知らせツール
12
+
13
+ # ----------------------------------
14
+
15
+ # 必要パッケージ
16
+
17
+ # pip install python-dateutil
18
+
19
+ # pip install email
20
+
21
+ # ----------------------------------
22
+
23
+ import sys
24
+
25
+ import requests
26
+
27
+ import time
28
+
29
+ import dateutil.parser
30
+
31
+ import smtplib
32
+
33
+ import email
34
+
35
+ from email.mime.text import MIMEText
36
+
37
+ from email.utils import formatdate
38
+
39
+ from email.header import Header
40
+
41
+
42
+
43
+ API="https://api.bitflyer.jp/v1/ticker"
44
+
45
+
46
+
47
+
48
+
49
+ #暴騰・暴落の価格差(円)
50
+
51
+ chk_yen=50
52
+
53
+
54
+
55
+ #スリープ時間(秒)
56
+
57
+ sleep_time=60
58
+
59
+
60
+
61
+ #★送信元メール
62
+
63
+ MY_ADDRESS='aaa'
64
+
65
+
66
+
67
+ #★送信元メールパスワード
68
+
69
+ MY_PASSWORD='aaa'
70
+
71
+
72
+
73
+ #★送信元メールSMTPサーバー
74
+
75
+ SMTP_SERVER='aaa'
76
+
77
+
78
+
79
+ #★送信先アドレス
80
+
81
+ TO_ADDRESS='aaa'
82
+
83
+
84
+
85
+ #メール件名
86
+
87
+ subject_header="【Bitcoin価格チェック】"
88
+
89
+
90
+
91
+
92
+
93
+ #
94
+
95
+ #関数:メール送信
96
+
97
+ #
98
+
99
+ def org_send_mail(from_address,to_address,subject,body):
100
+
101
+ msg=MIMEText(body.encode(charset),"plain",charset)
102
+
103
+ msg["Subject"]=Header(subject,charset)
104
+
105
+ msg["From"] =MY_ADDRESS
106
+
107
+ msg["To"] =TO_ADDRESS
108
+
109
+ msg["Date"] =formatdate(localtime=True)
110
+
111
+ smtp=smtplib.SMTP(SMTP_SERVER,587)
112
+
113
+ smtp.ehlo()
114
+
115
+ smtp.starttls()
116
+
117
+ smtp.login(MY_ADDRESS,MY_PASSWORD)
118
+
119
+ smtp.sendmail(from_address,to_address,msg.as_string())
120
+
121
+ smtp.quit()
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ if __name__=='__main__':
130
+
131
+ i=0
132
+
133
+ bid_btc=[]
134
+
135
+
136
+
137
+ charset="ISO-2022-JP"
138
+
139
+
140
+
141
+ #ループ
142
+
143
+ while True:
144
+
145
+ updown=""
146
+
147
+
148
+
149
+ #APIリクエスト
150
+
151
+ res=requests.get(API)
152
+
153
+
154
+
155
+ #JSON取得
156
+
157
+ json=res.json()
158
+
159
+
160
+
161
+ #リストに追加
162
+
163
+ bid_btc.append(int(json["best_bid"]))
164
+
165
+
166
+
167
+ #タイムスタンプ
168
+
169
+ tstr=json["timestamp"]
170
+
171
+
172
+
173
+ #JSON形式では直接パース出来ないのでdeteutil使用
174
+
175
+ tdatetime=dateutil.parser.parse(tstr)
176
+
177
+
178
+
179
+ tdatetime_str=tdatetime.strftime('%Y/%m/%d %H:%M:%S')
180
+
181
+
4
182
 
5
183
  if i!=0:
6
184
 
@@ -83,3 +261,15 @@
83
261
 
84
262
 
85
263
  print("["+tdatetime_str+"] BTC_JP Bid: "+"{:,d}".format(bid_btc[i])+"円"+updown)
264
+
265
+
266
+
267
+ #スリープ
268
+
269
+ time.sleep(int(sleep_time))
270
+
271
+
272
+
273
+ i=i+1
274
+
275
+ ```