diff --git a/API_Reference.py b/API_Reference.py index f486812..f106e88 100644 --- a/API_Reference.py +++ b/API_Reference.py @@ -331,6 +331,8 @@ degenerate_k_array, degenerate_eigenvalue_array = guan.find_degenerate_points(k_ guan.batch_reading_and_plotting(directory, xlabel='x', ylabel='y') +guan.write_file_list_in_markdown(directory, filename='a', reverse_positive_or_negative=1, starting_from_h1=None, banned_type=[], divided_line=None, show_second_number=None, show_third_number=None) + guan.move_all_files_to_root_directory(directory) guan.change_directory_by_replacement(current_key_word='code', new_key_word='data') diff --git a/PyPI/setup.cfg b/PyPI/setup.cfg index ac0d475..4beecb9 100644 --- a/PyPI/setup.cfg +++ b/PyPI/setup.cfg @@ -1,7 +1,7 @@ [metadata] # replace with your username: name = guan -version = 0.0.128 +version = 0.0.129 author = guanjihuan author_email = guanjihuan@163.com description = An open source python package diff --git a/PyPI/src/guan.egg-info/PKG-INFO b/PyPI/src/guan.egg-info/PKG-INFO index c9992b0..fb0ac72 100644 --- a/PyPI/src/guan.egg-info/PKG-INFO +++ b/PyPI/src/guan.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: guan -Version: 0.0.128 +Version: 0.0.129 Summary: An open source python package Home-page: https://py.guanjihuan.com Author: guanjihuan diff --git a/PyPI/src/guan/__init__.py b/PyPI/src/guan/__init__.py index 31a6e21..d7443dd 100644 --- a/PyPI/src/guan/__init__.py +++ b/PyPI/src/guan/__init__.py @@ -2,7 +2,7 @@ # With this package, you can calculate band structures, density of states, quantum transport and topological invariant of tight-binding models by invoking the functions you need. Other frequently used functions are also integrated in this package, such as file reading/writing, figure plotting, data processing. -# The current version is guan-0.0.128, updated on September 07, 2022. +# The current version is guan-0.0.129, updated on September 08, 2022. # Installation: pip install --upgrade guan @@ -2538,6 +2538,75 @@ def batch_reading_and_plotting(directory, xlabel='x', ylabel='y'): x_array, y_array = guan.read_one_dimensional_data(filename=filename) guan.plot(x_array, y_array, xlabel=xlabel, ylabel=ylabel, title=filename, show=0, save=1, filename=filename) +def write_file_list_in_markdown(directory, filename='a', reverse_positive_or_negative=1, starting_from_h1=None, banned_type=[], divided_line=None, show_second_number=None, show_third_number=None): + import os + f = open(filename+'.md', 'w', encoding="utf-8") + filenames1 = os.listdir(directory) + u0 = 0 + for filename1 in filenames1[::reverse_positive_or_negative]: + filename1_with_path = os.path.join(directory,filename1) + if os.path.isfile(filename1_with_path): + if os.path.splitext(filename1)[1] not in banned_type: + f.write('+ '+str(os.path.splitext(filename1)[0])+'\n') + else: + u0 += 1 + if divided_line != None and u0 != 1: + f.write('\n--------\n\n') + if starting_from_h1 == None: + f.write('#') + f.write('# '+str(filename1)+'\n') + + filenames2 = os.listdir(filename1_with_path) + i0 = 0 + for filename2 in filenames2[::reverse_positive_or_negative]: + filename2_with_path = os.path.join(directory, filename1, filename2) + if os.path.isfile(filename2_with_path): + f.write('+ '+str(os.path.splitext(filename2)[0])+'\n') + else: + i0 += 1 + if starting_from_h1 == None: + f.write('#') + if show_second_number != None: + f.write('## '+str(i0)+'. '+str(filename2)+'\n') + else: + f.write('## '+str(filename2)+'\n') + + j0 = 0 + filenames3 = os.listdir(filename2_with_path) + for filename3 in filenames3[::reverse_positive_or_negative]: + filename3_with_path = os.path.join(directory, filename1, filename2, filename3) + if os.path.isfile(filename3_with_path): + f.write('+ '+str(os.path.splitext(filename3)[0])+'\n') + else: + j0 += 1 + if starting_from_h1 == None: + f.write('#') + if show_third_number != None: + f.write('### ('+str(j0)+') '+str(filename3)+'\n') + else: + f.write('### '+str(filename3)+'\n') + + filenames4 = os.listdir(filename3_with_path) + for filename4 in filenames4[::reverse_positive_or_negative]: + filename4_with_path = os.path.join(directory, filename1, filename2, filename3, filename4) + if os.path.isfile(filename4_with_path): + f.write('+ '+str(os.path.splitext(filename4)[0])+'\n') + else: + if starting_from_h1 == None: + f.write('#') + f.write('#### '+str(filename4)+'\n') + + filenames5 = os.listdir(filename4_with_path) + for filename5 in filenames5[::reverse_positive_or_negative]: + filename5_with_path = os.path.join(directory, filename1, filename2, filename3, filename4, filename5) + if os.path.isfile(filename5_with_path): + f.write('+ '+str(os.path.splitext(filename5)[0])+'\n') + else: + if starting_from_h1 == None: + f.write('#') + f.write('##### '+str(filename5)+'\n') + f.close() + def move_all_files_to_root_directory(directory): import os import shutil