0.1.169
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
| Metadata-Version: 2.4 | ||||
| Name: guan | ||||
| Version: 0.1.168 | ||||
| Version: 0.1.169 | ||||
| Summary: An open source python package | ||||
| Home-page: https://py.guanjihuan.com | ||||
| Author: guanjihuan | ||||
|   | ||||
| @@ -17,6 +17,7 @@ src/guan/figure_plotting.py | ||||
| src/guan/file_reading_and_writing.py | ||||
| src/guan/functions_using_objects_of_custom_classes.py | ||||
| src/guan/machine_learning.py | ||||
| src/guan/others.py | ||||
| src/guan/quantum_transport.py | ||||
| src/guan/topological_invariant.py | ||||
| src/guan.egg-info/PKG-INFO | ||||
|   | ||||
| @@ -13,6 +13,7 @@ from .file_reading_and_writing import * | ||||
| from .figure_plotting import * | ||||
| from .data_processing import * | ||||
| from .decorators import * | ||||
| from .others import * | ||||
| from .custom_classes import * | ||||
| from .functions_using_objects_of_custom_classes import * | ||||
| from .deprecated import * | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -243,6 +243,170 @@ def write_two_dimensional_data_without_xy_array_and_without_opening_file(matrix, | ||||
|             f.write(str(element)+'   ') | ||||
|         f.write('\n') | ||||
|  | ||||
| # 创建一个sh文件用于提交任务(PBS) | ||||
| def make_sh_file_for_qsub(sh_filename='a', command_line='python a.py', cpu_num=1, task_name='task', cd_dir=0): | ||||
|     sh_content = \ | ||||
|         '#!/bin/sh\n' \ | ||||
|         +'#PBS -N '+task_name+'\n' \ | ||||
|         +'#PBS -l nodes=1:ppn='+str(cpu_num)+'\n' | ||||
|     if cd_dir==1: | ||||
|         sh_content += 'cd $PBS_O_WORKDIR\n' | ||||
|     sh_content += command_line | ||||
|     with open(sh_filename+'.sh', 'w') as f: | ||||
|         f.write(sh_content) | ||||
|  | ||||
| # 创建一个sh文件用于提交任务(Slurm) | ||||
| def make_sh_file_for_sbatch(sh_filename='a', command_line='python a.py', cpu_num=1, task_name='task', cd_dir=0): | ||||
|     sh_content = \ | ||||
|         '#!/bin/sh\n' \ | ||||
|         +'#SBATCH --job-name='+task_name+'\n' \ | ||||
|         +'#SBATCH --cpus-per-task='+str(cpu_num)+'\n' | ||||
|     if cd_dir==1: | ||||
|         sh_content += 'cd $PBS_O_WORKDIR\n' | ||||
|     sh_content += command_line | ||||
|     with open(sh_filename+'.sh', 'w') as f: | ||||
|         f.write(sh_content) | ||||
|  | ||||
| # 创建一个sh文件用于提交任务(LSF) | ||||
| def make_sh_file_for_bsub(sh_filename='a', command_line='python a.py', cpu_num=1, task_name='task', cd_dir=0, bsub_q=0, queue_name='score'): | ||||
|     sh_content = \ | ||||
|         '#!/bin/sh\n' \ | ||||
|         +'#BSUB -J '+task_name+'\n' \ | ||||
|         +'#BSUB -n '+str(cpu_num)+'\n' | ||||
|     if bsub_q==1: | ||||
|         sh_content += '#BSUB -q '+queue_name+'\n' | ||||
|     if cd_dir==1: | ||||
|         sh_content += 'cd $PBS_O_WORKDIR\n' | ||||
|     sh_content += command_line | ||||
|     with open(sh_filename+'.sh', 'w') as f: | ||||
|         f.write(sh_content) | ||||
|  | ||||
| # qsub 提交任务(PBS) | ||||
| def qsub_task(filename='a', file_format='.sh'): | ||||
|     import os | ||||
|     os.system('qsub '+filename+file_format) | ||||
|  | ||||
| # sbatch 提交任务(Slurm) | ||||
| def sbatch_task(filename='a', file_format='.sh'): | ||||
|     import os | ||||
|     os.system('sbatch '+filename+file_format) | ||||
|  | ||||
| # bsub 提交任务(LSF) | ||||
| def bsub_task(filename='a', file_format='.sh'): | ||||
|     import os | ||||
|     os.system('bsub < '+filename+file_format) | ||||
|  | ||||
| # 复制.py和.sh文件,然后提交任务,实现半手动并行(PBS) | ||||
| def copy_py_sh_file_and_qsub_task(parameter_array, py_filename='a', old_str_in_py='parameter = 0', new_str_in_py='parameter = ', sh_filename='a', task_name='task'): | ||||
|     import os | ||||
|     parameter_str_array = [] | ||||
|     for i0 in parameter_array: | ||||
|         parameter_str_array.append(str(i0)) | ||||
|     index = 0 | ||||
|     for parameter_str in parameter_str_array: | ||||
|         index += 1 | ||||
|         # copy python file | ||||
|         old_file = py_filename+'.py' | ||||
|         new_file = py_filename+'_'+str(index)+'.py' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = old_str_in_py | ||||
|         new_str = new_str_in_py+parameter_str | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(py_filename+'_'+str(index)+'.py', 'w') as f: | ||||
|             f.write(content) | ||||
|         # copy sh file | ||||
|         old_file = sh_filename+'.sh' | ||||
|         new_file = sh_filename+'_'+str(index)+'.sh' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = 'python '+py_filename+'.py' | ||||
|         new_str = 'python '+py_filename+'_'+str(index)+'.py' | ||||
|         content = content.replace(old_str, new_str) | ||||
|         old_str = '#PBS -N '+task_name | ||||
|         new_str = '#PBS -N '+task_name+'_'+str(index) | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(sh_filename+'_'+str(index)+'.sh', 'w') as f:  | ||||
|             f.write(content) | ||||
|         # qsub task | ||||
|         os.system('qsub '+new_file) | ||||
|  | ||||
| # 复制.py和.sh文件,然后提交任务,实现半手动并行(Slurm) | ||||
| def copy_py_sh_file_and_sbatch_task(parameter_array, py_filename='a', old_str_in_py='parameter = 0', new_str_in_py='parameter = ', sh_filename='a', task_name='task'): | ||||
|     import os | ||||
|     parameter_str_array = [] | ||||
|     for i0 in parameter_array: | ||||
|         parameter_str_array.append(str(i0)) | ||||
|     index = 0 | ||||
|     for parameter_str in parameter_str_array: | ||||
|         index += 1 | ||||
|         # copy python file | ||||
|         old_file = py_filename+'.py' | ||||
|         new_file = py_filename+'_'+str(index)+'.py' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = old_str_in_py | ||||
|         new_str = new_str_in_py+parameter_str | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(py_filename+'_'+str(index)+'.py', 'w') as f: | ||||
|             f.write(content) | ||||
|         # copy sh file | ||||
|         old_file = sh_filename+'.sh' | ||||
|         new_file = sh_filename+'_'+str(index)+'.sh' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = 'python '+py_filename+'.py' | ||||
|         new_str = 'python '+py_filename+'_'+str(index)+'.py' | ||||
|         content = content.replace(old_str, new_str) | ||||
|         old_str = '#SBATCH --job-name='+task_name | ||||
|         new_str = '#SBATCH --job-name='+task_name+'_'+str(index) | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(sh_filename+'_'+str(index)+'.sh', 'w') as f:  | ||||
|             f.write(content) | ||||
|         # sbatch task | ||||
|         os.system('sbatch '+new_file) | ||||
|  | ||||
| # 复制.py和.sh文件,然后提交任务,实现半手动并行(LSF) | ||||
| def copy_py_sh_file_and_bsub_task(parameter_array, py_filename='a', old_str_in_py='parameter = 0', new_str_in_py='parameter = ', sh_filename='a', task_name='task'): | ||||
|     import os | ||||
|     parameter_str_array = [] | ||||
|     for i0 in parameter_array: | ||||
|         parameter_str_array.append(str(i0)) | ||||
|     index = 0 | ||||
|     for parameter_str in parameter_str_array: | ||||
|         index += 1 | ||||
|         # copy python file | ||||
|         old_file = py_filename+'.py' | ||||
|         new_file = py_filename+'_'+str(index)+'.py' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = old_str_in_py | ||||
|         new_str = new_str_in_py+parameter_str | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(py_filename+'_'+str(index)+'.py', 'w') as f: | ||||
|             f.write(content) | ||||
|         # copy sh file | ||||
|         old_file = sh_filename+'.sh' | ||||
|         new_file = sh_filename+'_'+str(index)+'.sh' | ||||
|         os.system('cp '+old_file+' '+new_file) | ||||
|         with open(new_file, 'r') as f: | ||||
|             content  = f.read() | ||||
|         old_str = 'python '+py_filename+'.py' | ||||
|         new_str = 'python '+py_filename+'_'+str(index)+'.py' | ||||
|         content = content.replace(old_str, new_str) | ||||
|         old_str = '#BSUB -J '+task_name | ||||
|         new_str = '#BSUB -J '+task_name+'_'+str(index) | ||||
|         content = content.replace(old_str, new_str) | ||||
|         with open(sh_filename+'_'+str(index)+'.sh', 'w') as f:  | ||||
|             f.write(content) | ||||
|         # bsub task | ||||
|         os.system('bsub < '+new_file) | ||||
|  | ||||
| # 把矩阵写入.md文件(Markdown表格形式) | ||||
| def write_matrix_in_markdown_format(matrix, filename='a'): | ||||
|     import numpy as np | ||||
|   | ||||
							
								
								
									
										1187
									
								
								PyPI/src/guan/others.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1187
									
								
								PyPI/src/guan/others.py
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user