gpt4 book ai didi

python - 批处理文件中的空白并搁置保存在不同的目录中

转载 作者:行者123 更新时间:2023-12-01 09:06:15 24 4
gpt4 key购买 nike

我在使用本书第 8 章中的 Project Multiclipboard 时遇到问题:Automate the Boring Stuff并使用Python 3。

第一个问题是,假设我的程序 mcb.pyw 保存在:

C:\Users\myName\folder name

其中最后一个文件夹的名称中有空格,我的批处理文件:

@pyw.exe C:\Users\myName\folder name\mcb.pyw %*

似乎无法从命令行正常工作。我现在可以输入

mcb save keyword

进入命令行,没有出现错误,但它没有做任何事情。通过将目录更改为路径中没有空格的文件夹进行测试后,我得出结论,问题是由于空间造成的,但我不确定如何解决此问题。

第二个问题是,当批处理文件运行时,模块搁置似乎将数据保存在错误的文件夹中。具体来说,我注意到,如果我从命令行运行 mcb.pyw,shelve 会将数据保存在 C:\Users\myName 中,这也是打开命令 windows 时的默认目录,而不是保存 mcb.pywmcb.bat 的文件夹 C:\Users\myName\folderName

我通过添加以下行来解决这个问题:

import os
os.chdir('C:\\Users\\myName\\folderName')

但是,有没有其他方法可以解决这个问题呢?为什么搁置保存在 C:\Users\myName 中而不是已保存所有内容的文件夹中?

如果我犯了任何礼仪或格式问题,我深表歉意。如果您告诉我我做错了什么,我会尽力尽快改正,谢谢!

最佳答案

除非使用路径名指定文件,否则文件始终保存在当前工作目录中,因此如果默认目录不是您想要的目录,则必须更改工作目录。

您可以避免对路径名进行硬编码,并始终更改脚本所在的工作目录:

import os
import sys
os.chdir(os.path.dirname(sys.argv[0]))

关于python - 批处理文件中的空白并搁置保存在不同的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52022643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com