Python 从完全限定路径创建和写入文本文件
我正在尝试创建一个文本文件(名称是脚本运行的时间),然后以完全限定的路径写入文本文件,python似乎不喜欢我编写\或/或r''的方式,无论哪种方式,我都无法创建文本文件,所以我无法写入它。下面是我的代码:Python 从完全限定路径创建和写入文本文件,python,python-3.x,Python,Python 3.x,我正在尝试创建一个文本文件(名称是脚本运行的时间),然后以完全限定的路径写入文本文件,python似乎不喜欢我编写\或/或r''的方式,无论哪种方式,我都无法创建文本文件,所以我无法写入它。下面是我的代码: from datetime import datetime as dt import os Today = dt.today() now = Today.strftime('%Y-%m-%d %H:%M') file = now +'.txt' path = '\\SERVERNAME\f
from datetime import datetime as dt
import os
Today = dt.today()
now = Today.strftime('%Y-%m-%d %H:%M')
file = now +'.txt'
path = '\\SERVERNAME\folder\email_output\%s' % (file)
file_output = os.open(path)
我发现了错误
[Errno 2] No such file or directory: '\\\SERVERNAME\\\folder\\\email_output\\\2020-06-12 16:09.txt'
我需要路径为:\\\SERVERNAME\\folder\\email\u output\\2020-06-12 16:09.txt'
检查此代码:
from datetime import datetime as dt
import os
Today = dt.today()
now = Today.strftime('%Y-%m-%d H%H M%M')
filename = now +'.txt'
folder_path = r'\\SERVERNAME\folder\email_output'
file_path = os.path.join(folder_path, filename)
file = open(file_path, 'w')
file.close()
一些建议:
“%Y-%m-%d%H:%m”
将日期和时间作为文件名的字符串写入,例如2020-06-12 23:32.txt
。某些操作系统不允许在文件名或文件夹名中使用某些字符(如:
,?
,*
,\
,/
等)。我将其替换为%Y-%m-%dh%hm%m
,因此您将有2020-06-12 H23 M32.txt
。你可以用你喜欢的格式来更改,但是你必须避免使用特殊字符os.path.join()
方法,检查\
是一个特殊字符。如果在字符串之前添加r
(如r'C:\Users'
),则\
被视为普通字符。当您在Windows中定义文件夹路径时,这尤其有用,\
用作文件夹子文件夹分隔符from datetime import datetime as dt
import os
Today = dt.today()
now = Today.strftime('%Y-%m-%d H%H M%M')
filename = now +'.txt'
folder_path = r'\\SERVERNAME\folder\email_output'
file_path = os.path.join(folder_path, filename)
file = open(file_path, 'w')
file.close()
一些建议:
“%Y-%m-%d%H:%m”
将日期和时间作为文件名的字符串写入,例如2020-06-12 23:32.txt
。某些操作系统不允许在文件名或文件夹名中使用某些字符(如:
,?
,*
,\
,/
等)。我将其替换为%Y-%m-%dh%hm%m
,因此您将有2020-06-12 H23 M32.txt
。你可以用你喜欢的格式来更改,但是你必须避免使用特殊字符os.path.join()
方法,检查\
是一个特殊字符。如果在字符串之前添加r
(如r'C:\Users'
),则\
被视为普通字符。当您在Windows中定义文件夹路径时,这尤其有用,\
用作文件夹子文件夹分隔符你有没有试过双倍地避开你所有的反斜杠<代码>路径=“\\\\SERVERNAME\\folder\\email\\\%s输出”%(文件)路径是远程路径吗?我尝试了双重转义,仍然导致一个n错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:“\\\\SERVERNAME\\folder\\email\\U输出\\2020-06-12 16:38.txt”@ChrisDoyleI不知道你的意思,它与linux交叉装载,我是通过窗口访问的,如果这是你的意思@woops,你有没有试过双倍地避开所有的反斜杠<代码>路径=“\\\\SERVERNAME\\folder\\email\\\%s输出”%(文件)路径是远程路径吗?我尝试了双重转义,仍然导致一个n错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:“\\\\SERVERNAME\\folder\\email\\U输出\\2020-06-12 16:38.txt”@ChrisDoyleI不知道你的意思,它与linux交叉装载,我是通过windows访问的,如果这就是你的意思@woops这仍然会导致一个错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:“\\\\SERVERNAME\\folder\\email\u output\\2020-06-12 H16 M39.txt”我认为我的日期时间格式没有问题,这与双\\然后单\\和在Windows文件名的反斜杠上检查此项有关这仍然会导致错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:'\\\SERVERNAME\\folder\\email\u output\\2020-06-12 H16 M39.txt'我认为我的日期时间格式没有问题,它与double\\then single\@andreaTry有关,以检查Windows文件名中的反斜杠