如何用Python将数据写入文件(文件是create,但没有数据)

如何用Python将数据写入文件(文件是create,但没有数据),python,Python,当我像下面那样直接传递文件名时,数据正在写入输出文件 Rpt_file_wfl = open('output.csv','a') Rpt_file_wfl.write(output) 但当我将文件名作为变量传递时,文件正在创建,但没有数据 OUT_PATH = E:\MYDRIVE outDir = py_script outFiles = output.csv Rpt_file_wfl = open(OUT_PATH+outDir+outFiles[0],'a') Rpt_

当我像下面那样直接传递文件名时,数据正在写入输出文件

Rpt_file_wfl  = open('output.csv','a')

  Rpt_file_wfl.write(output)
但当我将文件名作为变量传递时,文件正在创建,但没有数据

OUT_PATH = E:\MYDRIVE
outDir = py_script
outFiles = output.csv
Rpt_file_wfl  = open(OUT_PATH+outDir+outFiles[0],'a')

   Rpt_file_wfl.write(output)
最后我确实关闭了文件


为什么不使用上述代码编写数据。

以下是工作代码的示例:

OUT_PATH='D:\\output\\'
outDir='scripts\\'
outFiles=['1.csv', '2.csv']
path = OUT_PATH+outDir+outFiles[0]
output='Example output'
with open(path, 'a') as file:
    file.write(output)

尝试使用
os.path

import os

output_text = 'some text'

drive_path = 'E:'
drive_dir = 'Mydrive'
out_dir = 'py_script'
out_file = 'output.csv'
full_path = os.path.join(drive_path, drive_dir, out_dir, out_file)


with open(full_path, 'a', encoding='utf-8') as file:
    file.write(output_text)
如果不起作用-尝试
.replace()
分隔符,如:

full_path = full_path.replace('/', '\\')
否则:

full_path = full_path.replace('\\', '/')

什么是赛尔夫?您可以在块的开头和结尾使用3-`-符号将代码放入块中。请给我们self.OUT\u PATH、self.outDir和self.outFiles[0]OUT\u PATH=E:\Mydrive\outDir=py\u script\outFiles=outputa的所有代码或值。您完全确定第二个示例中使用的是什么文件名吗?我认为输出是写入的,但不是您所期望的文件名。您可以添加行
print(self.OUT\u PATH+self.outDir+self.outFiles[0])
来双重检查文件名。但是文件正在创建中。。文件是用相同的代码创建的,我也试过了。我甚至在写之前使用PRINT检查文件名和路径。它创建了文件,但其中没有数据。@ViplavaVegination此代码创建了包含数据的文件。只要运行它,你就会看到。是的。这起作用了。非常感谢。在另一个脚本中有一个不同的调用,该脚本正在删除我的文件并重新创建一个空文件:(。您的代码1.filename帮助我找到了这一点。