我用斜线而不是反斜线将文件名传递给sys.argv。我正在使用os.path.normpath和os.path.join,但当试图打开文件时,我得到一个异常,没有这样的文件或目录:路径带有双反斜杠。我花了几个小时寻找解决方案,但没有任何效果。
我尝试了每一个教程,我可以在谷歌上找到,我只是不断得到同样的问题。我只是一直得到双反斜杠。我也试着像例子中那样硬编码路径。
filepath = os.path.normpath(os.path.join('D:/dir1/dir2/dir3', 'myfile.txt'))
try:
my_file = open(filepath, 'w+')
except Exception as e:
print('Cannot create/open file w+!\n{}'.format(e))
我需要能够打开文件。
3条答案
按热度按时间hzbexzde1#
在python脚本中,它可以使用:
但是如果我需要用py2exe构建一个程序,
__file__
不工作,我用途:希望这对某人有帮助。
ycggw6v22#
我更喜欢把我的文件保存在一个结构化的格式中,我的主脚本将在根文件夹中。这种方法在某种意义上变得更加通用,如果您尝试在具有不同操作系统的其他系统上运行相同的内容,则路径将引发问题。
示例
然后,您可以通过以下方式简单地访问文件
vfh0ocws3#
在windows的文件路径前添加r。
guests = open(r“C:\directory\guests.txt”,“w”)initial_guests = [“Bob”,“Andrea”,“Manuel”,“Polly”,“Khalid”]
对于initial_guests中的i:guests.write(i +“\n”)
close()