рд╣реИрдмрд░ рдЦрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реБрдП, рдкрд╛рдпрдерди
рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк
рд▓реЗрдЦ рдЖрдпрд╛ред рд╕реБрдВрджрд░ рд░реЗрдЦрд╛рдВрдХрди рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдХрд░, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдЬрдЧрд░-рдХреМрд╢рд▓ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╣рд╛рдБ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдореЙрдбреНрдпреВрд▓ рдХрд┐рдЯ рдореЗрдВ рднреА рдереЗред рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реБрдП рдбреЙрд╕ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЯреНрд░реА рдпрд╛рдж рдЖрдпрд╛ред рдкрд╛рдЗрдерди рдореЗрдВ рдПрдХ рд╕реБрдВрджрд░ рдПрдирд╛рд▓реЙрдЧ рд▓рд┐рдЦрдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдореИрдЯрд▓рдкреЛрдЯрд▓рд┐рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдЕрдзрд┐рдирд┐рдпрдо
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
Copy Source | Copy HTML def get_tree (tree=[u "E:\\" ,], G=nx.Graph(), itr= 0 , max_itr= 900 ): point = tree.pop( 0 ) itr = itr + 1 sub_tree = [ os .path.join(point, x) for x in os .listdir(point) if os .path.isdir( os .path.join(point, x)) and not is_hidden_dir( os .path.join(point, x))] if sub_tree: tree.extend(sub_tree) G.add_edges_from( map ( lambda b : (point, b), sub_tree)) if tree and itr <= max_itr: return get_tree (tree, G, itr) else : return G
рдпрд╣рд╛рдБ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрддрдирд╛ рд╕рдВрдЧреАрдд рдирд╣реАрдВ рд╣реИред
рдХреЛрдб рд╣реА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИред рд╣рд░ рдмрд╛рд░ рдЬрдм рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реВрдЪреА рд╕реЗ рдмрд╛рд╣рд░ рдзрдХреЗрд▓ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ os.listdir () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдорд╛рдирдХ рдЕрдЬрдЧрд░ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд┐рдВрдХ рдЧреНрд░рд╛рдл рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдЪрд╛рд▓ is_hidden_dir () рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдпрд╣ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдХреЛ рднрд╛рд╖рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реА рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕рд░рд▓ рд╣реИ, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдореИрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдпрд╣ рдХрд╛рд░реНрдп рдорд░реНрджрд╡рд╛рдж рдХреЗ рд░рдВрдЧреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдЕрдзрд┐рдирд┐рдпрдо рджреЛ
Copy Source | Copy HTML
- def is_hidden_dir (d):
- рдЖрдпрд╛рдд sys, рдЙрдкрдкреНрд░рдХрд╛рд░
- рдЕрдЧрд░ рд╕реА.рдПрд╕. рдордВрдЪ .startswith ( "рдЬреАрдд" ):
- рдкреА = рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ред check_output ([ " рдЕрдЯреНрд░рд┐рдм " , рдбреА])
- рд╕рд╣реА рд╣реИ рдЕрдЧрд░ 'H' рдореЗрдВ p [: 12 ] рдФрд░ рдЧрд▓рдд рд╣реИ
- рдФрд░ :
- рд╕рд╣реА рд╣реИ рдЕрдЧрд░ os .path.basename (d) [ 0 ] == 'ред' рдФрд░ рдЧрд▓рдд рд╣реИ
рдкрд╣рд▓реЗ рд╣рдо рд╕рд┐рд╕реНрдЯрдо, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рдЫрд┐рдкреА рд╣реБрдИ рд╕рдВрдкрддреНрддрд┐ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЖрдо рд╣реИ - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдЪрд░рд┐рддреНрд░ "рдбреЙрдЯ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдПрдЯрд┐рдкрд┐рдХрд▓ рд╣реИред рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреБрдЫ рд╕рдорд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВ, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдХреНрд╕ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдЧреБрдг рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдкрд╛рдпрдерди рдХреЗ рддрд╣рдд WinAPI рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рдереАред рдпрд╣ рдЧрдВрджреЗ рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рд╛, рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред
Google рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛
рдЕрдЯреНрд░рд┐рдм рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реАред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕реЗ os.system () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдкреНрд░рд▓реЗрдЦрди рдиреЗ рдореБрдЭреЗ рдирд┐рд░рд╛рд╢ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдореЗрд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рди рдХрд┐ рдЗрд╕рдХреЗ рд╕рдлрд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рддрдереНрдп рдкрд░ред рдореИрди рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдкреНрд░реЛрд╕реЗрд╕ред рдЪреЗрдХ_рдЖрдЙрдЯ () рдкрд╛рдпрд╛ рдЧрдпрд╛, рдЬреЛ рддрд░реНрдХ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдЖрдЧреЗ рд╕рддреНрдпрд╛рдкрди рд╕рд░рд▓ рд╣реИ, рдкрд╣рд▓реЗ 12 рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдзреНрд╡рдЬ "рдПрдЪ" рдХреА рдШрдЯрдирд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ, рд╡рд┐рдВрдбреЛрдЬ рдиреЗ рдореБрдЭреЗ рдЖрд░рд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рджрд┐рдпрд╛ред рдЬрдм рд╡рд╣ рдЕрдкрдиреЗ рдирд╛рдореЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рд▓реИрдЯрд┐рди рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рд╡рд╣ рд░реВрд╕реА рдкрддреНрд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛, рддреЛ рдЙрд╕рдиреЗ рдПрдХрдореБрд╢реНрдд рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЙрд╕рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рдереАред рдореИрдВрдиреЗ рдПрдХ рдбрд┐рдХреЛрдбрд░ рдХреЛ рд╣рд▓реНрдХреЗ рджрд┐рд▓ рд╕реЗ рдбрд╛рд▓рд╛
Copy Source | Copy HTML
- p = рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ред check_output ([ " рдЕрдЯреНрд░рд┐рдм " , d.encode ( 'cp1251' )]]
рд▓реЗрдХрд┐рди рдЕрдЬрдЧрд░ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рд╕реЗ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛, рдЗрд╕ рдмрд╛рд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред
рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рдордЭреМрддрд╛ рд╕рдорд╛рдзрд╛рди рдерд╛ред
Copy Source | Copy HTML
- p = рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ред check_output ([ " рдЕрдЯреНрд░рд┐рдм " , d.encode ( 'cp1251' ) рдпрджрд┐ рдЖрдЗрдВрд╕реНрдЯреАрди (d, рдпреВрдирд┐рдХреЛрдб) рдФрд░ рдШ]
рдЕрдзрд┐рдирд┐рдпрдо рддреАрдиред рдЕрдВрддрд┐рдо
рдпрд╣ рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рдкрд░ рдЙрддреНрдкрдиреНрди рдЧреНрд░рд╛рдл рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░рдиреА рдереАред рдкреНрд░рддрд┐рдкрд╛рджрди рд╕рдорд╛рд░реЛрд╣ рдореЛрд╣рдХ рд╕рд░рд▓ рд╣реИ:
Copy Source | Copy HTML
- nx рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЬрд╛рд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ
- рдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд matplotlib.pyplot
- def рдореБрдЦреНрдп ():
- рдЬреА = get_tree ()
- nx. рдирд┐рдХрд╛рд╕реА (рдЬреА, with_labels = рдЧрд▓рдд, рдиреЛрдб_ рд░рдВрдЧ = "рдиреАрд▓рд╛" , рдЕрд▓реНрдлрд╛ = 0. 6 , рдиреЛрдб_рд╕рд╛рдЗрдЬ = 50 )
- plt.savefig ( "edge_colormap.png" )
- plt.show ()
Nx.draw () рдореЗрдВ рдкреЙрдЗрдВрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдл рдХреЛ рдЫреЛрдбрд╝рдХрд░ред NetwokX рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 2 рджреГрд╢реНрдп рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
matplotlib рдФрд░
pygraphviz ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдкрд╛рдЗрдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдСрдлрд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ pygraphviz рдЖрд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд╛рдЗрдк рдиреЗ рдХрд╕рдо рдЦрд╛рдИ рдФрд░ рдХрд╣рд╛ рдХрд┐ pygraphviz рдиреЗ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдорд╛рдЯрдкреНрд▓реЛрдЯрд▓рд┐рдм рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рд╡рд╛рд▓ рдХреЗ рдЙрда рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдирд╛рд░рд╛рдЬрдЧреА рд╣реЛрдиреЗ рд▓рдЧреА рдХрд┐ рдореИрдВ рдЕрднреА рднреА
рдирдореНрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ NumPy рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЙрд╕рдиреЗ рдореБрдЭрд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рдорд╛рдВрдЧрд╛ рдФрд░ рдмрд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
Copy Source | Copy HTML
- # - * - рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: utf-8
- nx рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЬрд╛рд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ
- рдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд matplotlib.pyplot
- рдЖрдпрд╛рдд os
- def get_tree (рдкреЗрдбрд╝ = [u "E: \\ Music" ,], G = nx.Graph (), itr = 0 , max_itr = 900 ):
- рдмрд┐рдВрджреБ = рд╡реГрдХреНрд╖ред рдкреЛрдк ( 0 )
- itr = itr + 1
- sub_tree = [ os .path.join (рдмрд┐рдВрджреБ, x) рдореЗрдВ x рдХреЗ рд▓рд┐рдП osред рдмрд┐рдВрджреБ, x))]
- рдпрджрд┐ рдЙрдк_рдЯреНрд░реА:
- рдкреЗрдбрд╝ред рдХрдкрдбрд╝рд╛ (рдЙрдк_рдЯреНрд░реА)
- G.add_edges_from ( рдирдХреНрд╢рд╛ (рд▓рдВрдмреЛрджрд░ рдмреА: (рдмрд┐рдВрджреБ, рдмреА), рдЙрдк_рдЯреНрд░реА))
- рдЕрдЧрд░ рдкреЗрдбрд╝ рдФрд░ itr <= max_itr:
- рд╡рд╛рдкрд╕реА get_tree (рдкреЗрдбрд╝, рдЬреА, рдЖрдИрдЯреАрдЖрд░)
- рдФрд░ :
- рд╡рд╛рдкрд╕реА рдЬреА
- def is_hidden_dir (d):
- рдЖрдпрд╛рдд sys, рдЙрдкрдкреНрд░рдХрд╛рд░
- рдЕрдЧрд░ рд╕реА.рдПрд╕. рдордВрдЪ .startswith ( "рдЬреАрдд" ):
- p = рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ред check_output ([ " рдЕрдЯреНрд░рд┐рдм " , d.encode ( 'cp1251' ) рдпрджрд┐ рдЖрдЗрдВрд╕реНрдЯреАрди (d, рдпреВрдирд┐рдХреЛрдб) рдФрд░ рдШ]
- рд╕рд╣реА рд╣реИ рдЕрдЧрд░ 'H' рдореЗрдВ p [: 12 ] рдФрд░ рдЧрд▓рдд рд╣реИ
- рдФрд░ :
- рд╕рд╣реА рд╣реИ рдЕрдЧрд░ os .path.basename (d) [ 0 ] == 'ред' рдФрд░ рдЧрд▓рдд рд╣реИ
- def рдореБрдЦреНрдп ():
- рдЬреА = get_tree ()
- nx. рдирд┐рдХрд╛рд╕реА (рдЬреА, with_labels = рдЧрд▓рдд, рдиреЛрдб_ рд░рдВрдЧ = "рдиреАрд▓рд╛" , рдЕрд▓реНрдлрд╛ = 0. 6 , рдиреЛрдб_рд╕рд╛рдЗрдЬ = 50 )
- plt.savefig ( "edge_colormap.png" )
- plt.show ()
- рдЕрдЧрд░ __name__ == "__main__" :
- рдореБрдЦреНрдп ()
рдкрд░реНрджрд╛
рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдпрд╛ рд╣рд╛рде рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ рдХреБрдЫ рддрд╕реНрд╡реАрд░реЗрдВ:
<img title = "" рд╕реАрдорд╛ = "0" alt = "" src = "

