from subprocess import check_output
print(check_output(["ls", "../input"]).decode("utf8"))
代码来自这里https://www.kaggle.com/itoeiji/deep-reinforcement-learning-on-stock-data
我知道很少的python,所以无法理解这些代码的目的是什么。
很清楚,
调用check_ouput
命令指定ls ../input
命令将input
文件夹列入目录。
然后它将命令结果解码为utf-8。
然后它打印出来供你查看。
check_output
运行shell命令并返回其标准输出。 decode
将字节字符串解码为正确的Python Unicode字符串。
你should generally not use ls
programmatically,你通常应该避免使用外部子进程来完成Python可以轻松执行的任务。一种更好,更便携,更有效的方法来实现相同的结果
import os
print('\n'.join(os.listdir('../input')))
...虽然这并没有硬编码文件名作为UTF-8返回的假设(这对于可移植性来说也许是一件好事)。