Can';从CMD打开Python脚本时,不要将数据保存到文件中

Can';从CMD打开Python脚本时,不要将数据保存到文件中,python,debugging,cmd,openpyxl,Python,Debugging,Cmd,Openpyxl,我有一个简短的脚本,它接受用户输入并将其保存到电子表格中。从CMD打开时,它似乎运行正常,没有任何错误。但是,用户输入的数据实际上根本没有保存。 代码如下: import openpyxl wb = openpyxl.load_workbook('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx') sheet = wb.active while True: print('Enter pairs seprated with colon

我有一个简短的脚本,它接受用户输入并将其保存到电子表格中。从CMD打开时,它似乎运行正常,没有任何错误。但是,用户输入的数据实际上根本没有保存。 代码如下:

import openpyxl
wb = openpyxl.load_workbook('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')
sheet = wb.active
while True:  
    print('Enter pairs seprated with colon')
    pairList = input().split(':')
    maxRowNum = sheet.max_row
    sheet.cell(row=maxRowNum + 1, column=1).value = pairList[0]
    sheet.cell(row=maxRowNum + 1, column=2).value = pairList[1]
    wb.save('testTF.xlsx')        
    print('Pair saved\n\n') 
如果从文件资源管理器打开而不是从CMD打开,脚本会按预期保存数据。但在CMD中,它不是。 我试图解决这个问题的事情:

  • 以管理员身份而不是普通用户身份在CMD中运行脚本
  • 取消选中父文件夹的“只读”属性
  • 创建一个新文件夹并将脚本移动到其中
  • 取消选中新父文件夹的“只读”属性
  • 根据以下命令,以管理员身份运行以下CMD命令:“attrib-r+sc:\Users\sp\Documents\testFolder”或“attrib-r-sc:\Users\sp\Documents\testFolder” 上面的方法都不起作用。在CMD中运行时,脚本仍然不会将数据保存到电子表格中。我不确定是什么问题以及如何解决这个问题。有人能帮忙吗?我真的很感激

  • 您正在从一条路径阅读,并保存在另一条路径中。 尝试:

    导入openpyxl
    wb=openpyxl.load_工作簿('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')
    工作表=wb.active
    尽管如此:
    打印('输入用冒号分隔的对')
    pairList=input().split(“:”)
    如果len(pairList)<2:
    打破
    maxRowNum=sheet.max\u行
    sheet.cell(行=maxRowNum+1,列=1)。值=pairList[0]
    sheet.cell(行=maxRowNum+1,列=2).value=pairList[1]
    wb.save('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')
    打印('已保存配对\n\n')
    

    我只是测试一下,效果很好。也许你打开了excel,并屏蔽了版本?

    hoo我想我刚刚明白了。您在一个位置阅读,在另一个位置保存。请参阅:wb=openpyxl.load_工作簿('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx'),然后wb.save('testTF.xlsx')尝试执行wb.save('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')不,它不起作用。事实上,testTF.xlsx和脚本都在同一个文件夹中。都在cwd中。我只是测试了一下,效果很好。也许你已经打开了excel,并且阻止了版本?对不起,你完全正确。从CMD运行脚本时,cwd会发生变化。非常感谢您的帮助。:)使用单例,
    filepath='testTF.xlsx'。加载_工作簿(文件路径)。保存(文件路径)