QUERY · ISSUE
print output redirection not working as in Python.
bug
Port, board and/or hardware
raspberry pico2w
MicroPython version
MicroPython v1.26.0 on 2025-08-09; Raspberry Pi Pico 2 W with RP2350
Reproduction
# print redirection test
import sys
proper_stdout = sys.stdout # save original
log = open('out.txt', 'w')
sys.stdout = log # redirect stdout
print('hello')
print('wheres my print')
log.close()
sys.stdout = proper_stdout # revert redirect
print('back to the future')
print('so whats in the out.txt file?')
read_log = open('out.txt', 'r')
for line in read_log:
print(line)
read_log.close()
Expected behaviour
The sys.stdout would be redirected to the 'log' file (out.txt) and the following print two print statement contents would be directed to the out.txt file.
Observed behaviour
Traceback (most recent call last):
File "<stdin>", line 5, in <module>
AttributeError: 'module' object has no attribute 'stdout'
line 5 is:
sys.stdout = log
Additional Information
This code snippet works as expected in Python.
Code of Conduct
Yes, I agree
CANDIDATE · ISSUE
Multithread breaks file operations on pico2w.
bugport-rp2
Port, board and/or hardware
RPI_PICO2_W
MicroPython version
MicroPython v1.25.0-preview.180.g495ce91ca on 2025-01-06; Raspberry Pi Pico 2 W with RP2350
Reproduction
- copy the below threads using code and run it:
import time
import _thread
global killme
def threadtest():
global killme
print("Other starts")
while True:
if killme:
break
print("másik thread")
time.sleep(3.17)
print("Other ends")
killme = False
try:
new_thread = _thread.start_new_thread(threadtest, ())
print("Main starts")
while True:
print("Main thread")
time.sleep(1)
except KeyboardInterrupt as theInterrupt:
print("Main ends")
killme = True
- run it
- stop it
- try to copy or delete any file with mpremote, it will hang
- powercycle (pull out the usb conenctor and back) and things will work until I run the above code again.
Expected behaviour
Expected to be able to upload code.
Observed behaviour
Was not able to upload code.
Additional Information
When I copied/ran non-threaded code, a simple hello world the problem did not happen.
Code of Conduct
Yes, I agree