回答編集履歴

5

追記

2018/02/11 16:22

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -87,3 +87,77 @@
87
87
 
88
88
 
89
89
  ```
90
+
91
+ ---
92
+
93
+ 2018/02/12追記。
94
+
95
+ LouiS0616さんの回答のsplitを使ったソースコードの方が何を行っているのかが分かりやすいのでおすすめですが、コメント欄のやりたいことの2つの配列を使ったソースコードです。
96
+
97
+
98
+
99
+ ```Python
100
+
101
+ # -*- coding: utf8 -*-
102
+
103
+ import linecache
104
+
105
+
106
+
107
+
108
+
109
+ def split_word_list(line: str) -> list:
110
+
111
+ word_list = []
112
+
113
+ word = []
114
+
115
+ for c in line:
116
+
117
+ if c == ' ':
118
+
119
+ print(word)
120
+
121
+ word_list.append(word)
122
+
123
+ word = []
124
+
125
+ continue
126
+
127
+ word.append(c)
128
+
129
+ else:
130
+
131
+ print(word)
132
+
133
+ word_list.append(word)
134
+
135
+ return word_list
136
+
137
+
138
+
139
+
140
+
141
+ def main() -> None:
142
+
143
+ line_no = 1
144
+
145
+ file_name = r'sample.txt'
146
+
147
+ target_line = linecache.getline(file_name, line_no)
148
+
149
+ target_line = 'This is an apple'
150
+
151
+ word_list = split_word_list(target_line)
152
+
153
+ print(word_list)
154
+
155
+
156
+
157
+
158
+
159
+ if __name__ == '__main__':
160
+
161
+ main()
162
+
163
+ ```

4

ソースコードを追加

2018/02/11 16:22

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -49,3 +49,41 @@
49
49
  print(c)
50
50
 
51
51
  ```
52
+
53
+
54
+
55
+ 個人的に書き直したソースコード。
56
+
57
+ ```Python
58
+
59
+ # -*- coding: utf8 -*-
60
+
61
+ import linecache
62
+
63
+
64
+
65
+
66
+
67
+ def main() -> None:
68
+
69
+ line_no = 1
70
+
71
+ file_name = r'sample.txt'
72
+
73
+ target_line = linecache.getline(file_name, line_no)
74
+
75
+ for c in target_line:
76
+
77
+ print(c)
78
+
79
+
80
+
81
+
82
+
83
+ if __name__ == '__main__':
84
+
85
+ main()
86
+
87
+
88
+
89
+ ```

3

r文字列に変更

2018/02/11 12:08

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  ```Python
44
44
 
45
- target_line = linecache.getline('C:\Users\ユーザ名\Documents\sample.txt', a)
45
+ target_line = linecache.getline(r'C:\Users\ユーザ名\Documents\sample.txt', a)
46
46
 
47
47
  for c in target_line:
48
48
 

2

=の後ろにスペースを追加

2018/02/11 12:03

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  ```Python
44
44
 
45
- target_line =linecache.getline('C:\Users\ユーザ名\Documents\sample.txt',a)
45
+ target_line = linecache.getline('C:\Users\ユーザ名\Documents\sample.txt', a)
46
46
 
47
47
  for c in target_line:
48
48
 

1

期待される結果を確認。

2018/02/11 11:47

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -34,6 +34,18 @@
34
34
 
35
35
 
36
36
 
37
-
37
+ ---
38
38
 
39
39
  最終的にどういう事をやりたいコードなのかを説明して頂けるとありがたいのですが。。。
40
+
41
+ target_line を一文字ずつprintしたいだけなら、以下のコードで可能ですが。
42
+
43
+ ```Python
44
+
45
+ target_line =linecache.getline('C:\Users\ユーザ名\Documents\sample.txt',a)
46
+
47
+ for c in target_line:
48
+
49
+ print(c)
50
+
51
+ ```