os.path.join()函数用于路径拼接文件路径。
拼接如下目录:
代码:
# -*- encoding:utf-8 -*-
import sys
import os
if __name__ == '__main__':
if len(sys.argv) != 2:
print('need input: task name , but got {0} '.format(len(sys.argv)))
sys.exit(-1)
task_name = sys.argv[1]
congig_new = task_name + '_config.json'
config_path = os.path.join('./', task_name, congig_new)
print('config_path: ', config_path)
model_path = os.path.join('./', task_name + '/model')
data_path = os.path.join('./', task_name + '/data')
print('model_path: ', model_path)
print('data_path: ', data_path)
输出:
(torch_20201223) localhost:bert_train wang$ python test_demo.py fenleizhuanlan
config_path: ./fenleizhuanlan/fenleizhuanlan_config.json
model_path: ./fenleizhuanlan/model
data_path: ./fenleizhuanlan/data
注意拼接目录时 "/"的使用,如果有“/”,则跟前面的目录用“+”拼接,否则,用逗号。也就是说os.path.join()的每一个参数都是一个目录名字,或者文件名字。
看一个跟上述代码达到同样功能的代码:
# -*- encoding:utf-8 -*-
import sys
import os
if __name__ == '__main__':
if len(sys.argv) != 2:
print('need input: task name , but got {0} '.format(len(sys.argv)))
sys.exit(-1)
task_name = sys.argv[1]
congig_new = task_name + '_config.json'
config_path = os.path.join('./', task_name, congig_new)
print('config_path: ', config_path)
model_path = os.path.join('./', task_name, 'model')
data_path = os.path.join('./', task_name, 'data')
print('model_path: ', model_path)
print('data_path: ', data_path)