
如题,刚刚测试了下 回车符\x0D 无法入队列
import queue, time q = queue.Queue() for i in range(5): q.put(str(i)+"\x0B"+"|\x0D\x1c\x0D") while not q.empty(): print (q.get()) q = queue.Queue() for i in range(5): q.put(str(i)+"\x0B"+"|\r\x1c\r") while not q.empty(): print (q.get()) 这样可以 \r 换为\n
import queue, time q = queue.Queue() for i in range(5): q.put(str(i)+"\x0B"+"|\n\x1c\n") while not q.empty(): print (q.get()) 打印出来 没有内容,忘指点下代码那里错误了? python 3.6 win10 64 系统
1 msg7086 2018-08-03 04:51:27 +08:00 你贴的整段代码里也没有检查字符串是否进入队列的代码呀,你是怎么看出「无法入队列」的? 回车符本来就是看不见的,什么叫打印出来没有内容?我这里能看到正常打印出了所有的内容。 |
3 msg7086 2018-08-03 13:09:45 +08:00 x0B 是控制字符吧。 你有可以复现写入文本文件的源代码么,能不能贴个 gist ? 我跑了你主题里的代码,能看见竖线。 |
4 qile11 OP 我重新测试发现确实好使,比较乌龙了! 是不是和我内存有关系 或者因为多线程导致问题错误! 我前天运行发现嘿嘿的没有内容才发帖的,现在居然好使! |
5 qile11 OP 刚刚运行又不好使了 |
6 qile11 OP https://s1.ax1x.com/2018/08/04/PDkwef.png 运行截图图片地址 ```` for i in range(5): q.put(str(i)+"\x0B"+"|\x0D\x1c\x0D") l=[] while not q.empty(): print(q.get()) ```` 上面为运行代码 |