我正在尝试用def bar_plot(plot_df):
width = 0.35 # width of bars
p_s = []
p_s.append(plt.bar(ind, plot_df.iloc[:,0], width))
for i in range(1,len(plot_df.columns)):
p_s.append(plt.bar(ind, plot_df.iloc[:,i], width,
bottom=np.sum(plot_df.iloc[:,:i], axis=1)))
plt.ylabel('[%]')
plt.title('Responses by country')
x_ticks_names = tuple([item for item in plot_df.index])
plt.xticks(ind, x_ticks_names)
plt.yticks(np.arange(0, 1.1, 0.1)) # ticks from, to, steps
plt.legend(p_s, plot_df.columns)
plt.show()
来替换现有的directory
,但无法用mv完成它-我相信有办法,但我还不知道。即使查阅了手册页并搜索了网络。
如果folder
仅包含/path/to/
,则以下命令会将directory
(消失)移动到/path/to/directory
/path/to/folder
基本上是重命名,这是我尝试实现的目标。
但是,如果mv /path/to/directory /path/to/folder
已经存在,则同一命令将/path/to/folder
移动到/path/to/directory
。
我不想使用/path/to/folder/directory
命令来避免IO。
答案 0 :(得分:1)
不是使用cp
来实际复制每个文件中的数据,而是使用ln
将指针的“副本”复制到文件中。文件。
ln /path/to/directory/* /path/to/folder && rm -rf /path/to/directory
请注意,与使用cp
相比,这有点原子;每个单独的文件都一步一步出现在/path/to/folder
中(即/path/to/folder/foo.txt
不可能被部分复制),但是仍然有一个很小的窗口,其中来自{ {1}}已链接到/path/to/directory
rm -rf folder. Also, the
目录is not atomic, but assuming no one is interested in
/ path / to / directory , that's not an issue. (Although, as files from
/ path / to / folder从2变为1 。不太可能有人会在意。)
您认为文件实际上只是一个由文件系统管理的匿名文件的文件系统条目。例如,考虑一个简单的例子。
are unlinked, you *can* see changes to the link counts of files under
$ mkdir d
$ cd d
$ echo hello > file.txt
$ cp file.txt file_copy.txt
$ ln file.txt file_link.txt
$ ls -li
total 24
12890456377 -rw-r--r-- 2 chepner staff 6 Mar 3 12:46 file.txt
12890456378 -rw-r--r-- 1 chepner staff 6 Mar 3 12:47 file_copy.txt
12890456377 -rw-r--r-- 2 chepner staff 6 Mar 3 12:46 file_link.txt
选项将每个条目的索引节点号(第一列)添加到输出;索引节点可以被认为是文件的唯一标识符。在此输出中,您可以看到-i
是一个全新文件,其inode与file_copy.txt
不同。 file.txt
具有完全相同的索引节点,这意味着file_link.txt
和file.txt
只是同一事物的两个不同名称。所有者前面的数字是链接计数; file_link.txt
和file.txt
均引用链接计数为2的文件。
使用file_link.txt
时,您只是删除指向文件的链接,而不是文件本身。在链接数减少到0之前,不会删除文件。为演示起见,我们将删除rm
和file.txt
。
file_copy.txt
如您所见,到$ rm file.txt file_copy.txt
$ ls -li
total 8
12890456377 -rw-r--r-- 1 chepner staff 6 Mar 3 12:46 file_link.txt
的唯一链接消失了,因此inode 12890456378不再出现在输出中。 (是否真的丢失了数据是文件系统的实现。)file_copy
仍然引用与以前相同的文件,但是现在链接数为1,因为file_link.txt
已被删除。
到文件的链接不必出现在同一目录中;它们可以出现在同一文件系统上的任何目录中,这是使用此技巧的唯一警告。 ({IRC},file.txt
会给您一个错误,如果您尝试创建另一个文件系统上文件的链接。)