如何打开文件并根据从命令行传递的参数删除某些字符

时间:2019-01-20 15:42:58

标签: python python-2.7 dictionary filenames

因此,我有一个实际上将运行并生成报告并将其保存为args.current_date文件名的函数。我遇到的问题是从正在保存的文件名中删除扩展名.json,这实际上是不可读的。由于我将dict作为参数传递,因此无法使用strip()方法来做到这一点。到目前为止,我的功能如下:

parser = argparse.ArgumentParser()
parser.add_argument("-c", "--current-date", action="store", required=False)
parser.add_argument("-p", "--previous-date", action="store", required=False)
args = parser.parse_args()

def custom_report(file_names, previous_data , current_data):
    reporting = open('reports/' + args.current_date+ "-report.txt", "w")
    reporting.write("This is the comparison report between the directories" " " + args.current_date +
                    " " "and" " " + args.previous_date + "\n\n")
    for item in file_names:
        reporting.write(item + compare(previous_data.get(item), current_data.get(item)) + "\n")
    reporting.close()

它已将文件另存为'2019-01-13.json-report.txt'。我希望能够摆脱'.json'方面,并将其保留为'2019-01-13-report.txt'

1 个答案:

答案 0 :(得分:0)

要删除文件扩展名,可以使用os.path.splitext函数:

type
  function_config = ...;
  pfunction_config = ^function_config;

procedure DisplayHelloFromDLL; cdecl; external 'SDK_DLL.dll';
function FuncInit2: pfunction_config; cdecl; external 'SDK_DLL.dll';