所以我使用过这个网站来获取过去的一些VBA内容,并在其他用户的问题中找到了一些很好的帮助。现在我开始使用C#,我完全迷失了如何从文件中获取细节。我承认,我对C#完全陌生,并且很难适应它。 我要做的是选择一个目录(已经有了FolderBrowserDialog的目录),然后获取该目录中所有文件夹的名称,以及所有子文件夹。 要将它放到上下文中,我想转到我的音乐文件夹,然后能够在文本框中列出该目录中的所有艺术家和专辑。每张专辑都在Artist文件夹下,所以整个文件会读取一个文件夹的名称,然后是该文件夹中的所有子文件夹,然后返回并继续下一个文件夹。
不确定是否有人会问,但这里是我的所有代码:
public Form1()
{
InitializeComponent();
}
private void DirButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK);
{
DirBox.Text = fbd.SelectedPath;
}
}
非常感谢任何帮助,我会尽力理解你的答案。
谢谢!
答案 0 :(得分:0)
许多选项之一是使用import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
ax = sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips)
for c in ax.collections:
for of in c.get_offsets():
ax.annotate("Label", of)
plt.show()
,请参阅docs
您的代码可能如下所示:
Directory.GetDirectories
根据文件夹的结构,您可能需要使用其他string[] dirs = Directory.GetDirectories(fbd.SelectedPath, "*", SearchOption.AllDirectories);
- 使用' AllDirectories'要进行递归搜索,或SearchOption Enumeration
仅查看顶部目录,请参阅docs
现在,如果您不需要递归搜索,可以使用here描述的更简单的重载TopDirectoryOnly
,示例如下:
DirectoryInfo.GetDirectories
请注意,如果您希望拥有实例而不是使用静态数据,则可以使用string[] dirs = Directory.GetDirectories(fbd.SelectedPath);
类而不是DirectoryInfo
类来执行相同操作,请务必查看{{3} }