Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从完全限定路径创建和写入文本文件_Python_Python 3.x - Fatal编程技术网

Python 从完全限定路径创建和写入文本文件

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

我正在尝试创建一个文本文件(名称是脚本运行的时间),然后以完全限定的路径写入文本文件,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\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()
    方法,检查
  • 在Python中,字符串中的
    \
    是一个特殊字符。如果在字符串之前添加
    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()
    方法,检查
  • 在Python中,字符串中的
    \
    是一个特殊字符。如果在字符串之前添加
    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文件名中的反斜杠