我有一个包含3个文件夹X,Y和Z的文件夹结构。每个文件夹包含3个文件X1.csv,X2.csv,X3.csv,Y1.csv,Y2.csv,Y3.csv,Z1。 csv,Z2.csv,Z3.csv。
在我的jupyter笔记本中,我可以执行以下操作:
['X1.csv', 'X2.csv', 'X3.csv']
['X1.csv', 'X2.csv', 'X3.csv']
['X1.csv', 'X2.csv', 'X3.csv']
这将重现以下内容:
!ls data/X
我想更改f
,以便它使用X
而不是硬编码的{{1}},但如果我将数据/ X更改为字符串' data /&# 39;并将f连接到它的末尾,然后我不会返回任何内容。
注意
我可以导入操作系统,然后使用listdir,但我想知道上述情况是否可行。
答案 0 :(得分:3)
只是不要使用神奇的笔记本命令来执行can be easily done with pure python的操作。魔术笔记本命令应该用于快速黑客攻击和支持非python功能,而不是实际作为代码的一部分。
但是,如果由于奇怪的原因你真的必须,你需要用bash方式引用你的变量($variable
instaed of variable
)
folders = ['X','Y','Z']
for f in folders:
a = !ls data/$f
print(a)