This repository was archived by the owner on Sep 16, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 165
/
Copy pathfs_file.py
163 lines (130 loc) · 3.93 KB
/
fs_file.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#To run this test an SD card is needed
from machine import SD
f_path = "/flash/t.txt"
sd_path = "/sd/t.txt"
def file_write(path, mode, text=""):
f = open(path, mode)
print("{0}, f.write(mode={1}): {2}".format(path, mode, f.write(text)))
f.close()
def file_read(path, mode):
f = open(path, mode)
print("{0}, f.read(mode={1}): {2}".format(path, mode, f.read()))
f.close()
def file_read_size_test(path):
f = open(path, "w")
f.write("0123456789")
f.close()
f = open(path, "r")
b = bytearray()
for c in range(0,10):
b.append(ord(f.read(1)))
print(b)
f.close()
f = open(path, "r")
print("{0}, f.read(2): {1}".format(path, f.read(2)))
print("{0}, f.read(3): {1}".format(path, f.read(3)))
print("{0}, f.read(5): {1}".format(path, f.read(5)))
f.close()
def file_readinto_test(path):
f = open(path, "r")
b_1 = bytearray(5)
length = f.readinto(b_1,5)
print("{0}, f.readinto(b): {1}, length: {2}".format(path, b_1, length))
b_2 = bytearray(2)
length = f.readinto(b_2,2)
print("{0}, f.readinto(b,2): {1}, length: {2}".format(path, b_2, length))
f.close()
def file_readline_test(path):
f = open(path, "w")
f.write("01234\n56789")
f.close()
f = open(path, "r")
print("{0}, f.readline(10): {1}".format(path, f.readline(10)))
f.close()
f = open(path, "r")
print("{0}, f.readlines(): {1}".format(path, f.readlines()))
f.close()
def file_read_write(path, mode, text=""):
f = open(path, mode)
print("{1}, f.write(mode={2}): {0}".format(f.write(text), path, mode))
f.seek(0)
print("{1}, f.read(mode={2}): {0}".format(f.read(), path, mode))
f.close()
def file_seek_test(path):
f = open(path, "r")
f.seek(3)
print("{0}, f.seek({1}, {2}): {3}".format(path, 3, 0, f.read(1)))
print("{0}, f.tell(): {1}".format(path, f.tell()))
f.seek(2, 1)
print("{0}, f.seek({1}, {2}): {3}".format(path, 2, 1, f.read(1)))
print("{0}, f.tell(): {1}".format(path, f.tell()))
f.seek(-1, 2)
print("{0}, f.seek({1}, {2}): {3}".format(path, 1, 2, f.read(1)))
print("{0}, f.tell(): {1}".format(path, f.tell()))
f.close()
sd = SD()
sd_fat_fs = os.mkfat(sd)
os.mount(sd_fat_fs, "/sd")
#Test modes of file opening
file_write(f_path, "w", "Test text.")
file_write(sd_path, "w", "Test text.")
file_read(f_path, "r")
file_read(sd_path, "r")
file_write(f_path, "a", "Appended text!")
file_write(sd_path, "a", "Appended text!")
file_read(f_path, "r")
file_read(sd_path, "r")
file_write(f_path, "w")
file_write(sd_path, "w")
file_read(f_path, "r")
file_read(sd_path, "r")
os.remove(f_path)
os.remove(sd_path)
file_write(f_path, "x", "Test text.")
file_write(sd_path, "x", "Test text.")
file_read(f_path, "r")
file_read(sd_path, "r")
try:
file_write(f_path, "x", "New text")
except OSError as e:
print(repr(e))
try:
file_write(sd_path, "x", "New text")
except OSError as e:
print(repr(e))
file_read(f_path, "r")
file_read(sd_path, "r")
file_read_write(f_path, "w+", "New text 1.")
file_read_write(sd_path, "w+", "New text 1.")
file_read_write(f_path, "r+", "New text 2.")
file_read_write(sd_path, "r+", "New text 2.")
try:
file_write(f_path, "x+", "New text")
except OSError as e:
print(repr(e))
try:
file_write(sd_path, "x+", "New text")
except OSError as e:
print(repr(e))
os.remove(f_path)
os.remove(sd_path)
file_read_write(f_path, "x+", "New text 3.")
file_read_write(sd_path, "x+", "New text 3.")
file_read_write(f_path, "a+", "Appended text!")
file_read_write(sd_path, "a+", "Appended text!")
#Test file.read(size)
file_read_size_test(f_path)
file_read_size_test(sd_path)
#Test file.seek, file.tell
file_seek_test(f_path)
file_seek_test(sd_path)
#Test file.readinto
file_readinto_test(f_path)
file_readinto_test(sd_path)
#Test file.readline, file.readlines
file_readline_test(f_path)
file_readline_test(sd_path)
os.remove(f_path)
os.remove(sd_path)
os.umount("/sd")
sd.deinit()