我正在尝试创建一个python脚本(知识非常有限),它将在运行程序的人的桌面上创建一个文本文档。我所拥有的实际创建文本文件的部分如下所示:
save_path = 'Desktop'
name_of_file = "examplefile"
completeName = os.path.join(save_path, name_of_file+".txt")
file1 = open(completeName, "w+")
toFile = '''text'''
file1.write(toFile)
file1.close()
在Visual Studio代码中运行时,一切都按预期运行,但在CMD中运行时,我收到错误:
File "file.py", line 101, in <module>
open(completeName, "w+")
FileNotFoundError: [Errno 2] No such file or directory: 'Desktop\\examplefile.txt'
在py.exe中运行时,它会崩溃
我使用了C:\Users\MyName\Desktop>py file.py
和C:\Users\MyName\Desktop>python3 file.py
来执行脚本,并且出现了相同的错误,我想这不会让我感到惊讶
我在网上看了很多关于如何解决这个问题的内容,但我所看到的几乎所有内容都只是重申使用open(filename, "w+")
来创建文本文件(我已经知道)或是关于使用PATH,我认为我不需要它,但我承认我并不是很了解它
总而言之,我一辈子都搞不明白为什么脚本只在VS代码中工作
这是因为您定义文件路径的方式
您正在尝试创建文件
Desktop\examplefile.txt
。因此,当您运行脚本时,它会从当前工作目录(运行脚本的路径)中查找Desktop
目录,并在其中创建examplefile.txt
文件但是您得到的错误意味着它无法从您当前的工作目录中找到
Desktop
目录。这是因为您是从C:\Users\MyName\Desktop
运行它的,而其中没有Desktop
目录您应该做的是使用一个路径,该路径将始终解析到所需的目录。例如,如果要在桌面上创建文件:
这将始终解析为Windows上用户的
Desktop
目录在Windows上,
USERPROFILE
环境变量表示用户主目录的路径如果您正在寻找跨平台解决方案来获取用户的主目录,您可以使用以下方法:
相关问题 更多 >
编程相关推荐