import os, sys
def maker(inputdir, outputdir, suffix=""):
if not (chechdir(inputdir) and chechdir(outputdir)): sys.exit(0)
for pos in os.listdir(inputdir):
name = os.path.abspath(inputdir+"/"+pos)
if os.path.isdir(name):
maker(name, outputdir, suffix+"1")
else:
simlnkname = os.path.abspath(outputdir+"/"+pos)
if os.path.exists(simlnkname):
simlnkname += suffix
os.symlink(name, simlnkname)
def chechdir(directory):
if not (os.path.exists(directory) and os.path.isdir(directory)):
print "Error directory ", directory
return False
return True
if __name__ == "__main__":
inp = "dir1"
outp = "dir2"
maker(inp, outp)
테스트를 :
$ tree
.
├── dir1
│ ├── bash
│ ├── exe1
│ ├── paper
│ │ ├── bash
│ │ ├── file1
│ │ ├── file2
│ │ └── file3
│ └── sh1
├── dir2
└── test.py
3 directories, 8 files
$ python test.py
$ tree
.
├── dir1
│ ├── bash
│ ├── exe1
│ ├── paper
│ │ ├── bash
│ │ ├── file1
│ │ ├── file2
│ │ └── file3
│ └── sh1
├── dir2
│ ├── bash -> /home/miha/exampldir/dir1/bash
│ ├── bash1 -> /home/miha/exampldir/dir1/paper/bash
│ ├── exe1 -> /home/miha/exampldir/dir1/exe1
│ ├── file1 -> /home/miha/exampldir/dir1/paper/file1
│ ├── file2 -> /home/miha/exampldir/dir1/paper/file2
│ ├── file3 -> /home/miha/exampldir/dir1/paper/file3
│ └── sh1 -> /home/miha/exampldir/dir1/sh1
└── test.py
3 directories, 15 files
그것은 개념, 리눅스에서 어떻게 작동합니다. 따라서 실행하기 전에 outp
(dir2
다른 단어)을 정리해야합니다.
지금까지 해보신 것은 무엇입니까? 당신이 작성했거나 시도한 어떤 코드 나 무언가가 있습니까 ?? –
그래서 무료 코드를 원합니다. – Sheena
무료 코드를 원하지 않습니다. 파일이 하위 폴더에 더 많이 있는지 확인하는 방법에 대해 전혀 몰라서 symlink에 접미사를 추가해야합니다. . –