我需要在文件中写一些东西,这是我在python中通过命令行传递的。我正在使用以下代码mycode.py
import csv
import sys
path = sys.argv[1]
row = ['4', ' Danny', ' New York']
with open(r"path" , 'w') as csvFile:
writer = csv.writer(csvFile)
writer.writerow(row)
执行该文件时,不会写入文件,而是将路径硬编码为
with open(r"C:\Users\venkat\Desktop\python\sam.csv", 'w') as
csvFile:
文件正在写入中,如果我遗漏任何东西,请告诉我。
另一个要求是我必须只打开目录,并附加一些文件名。 例如:我可以通过
C:\ Users \ venkat \ Desktop \ python,sam.csv
我必须在代码后附加到目录。
答案 0 :(得分:4)
您应该使用path
变量的值。
替换
with open(r"path" , 'w') as csvFile:
使用
with open(path , 'w') as csvFile:
^^^^
如果您想将一个文件追加到目录路径,则可以使用os
包。
file_path = os.path.join(path, file)
答案 1 :(得分:2)
行得通
import csv
import sys
path = sys.argv[1]
row = ['4', ' Danny', ' New York']
with open(path, 'w') as csvFile:
writer = csv.writer(csvFile)
writer.writerow(row)
答案 2 :(得分:0)
如果要将大括号转换为原始格式,则应添加大括号
with open(rf"{path}" , 'w') as csvFile:
答案 3 :(得分:0)
如果您想附加(或写入)现有文件,这也可以使用 format
:
path="insert\\pathOf\\file.txt"
with open("{}".format(path),'a') as file:
file.write("excellent\n")
'a' 用于追加,所以它会将 'excellent' 字符串添加到 file.txt。 如果你想写一个新文件,只需输入'w'而不是'a'。
使用 'w' 将覆盖 file.txt(如果已经存在)。 \n 用于以新行结尾,因此如果您运行相同的代码 2 次,它将在两个不同的行中添加 'excellent',而不是并排。