我需要在文件中寫入一些內容,我正在通過 python 中的命令行傳遞這些文件。我正在使用下面的代碼mycode.pyimport csvimport syspath = 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我必須在代碼中附加到目錄。
3 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
您應該使用path
變量的值。
代替
with open(r"path" , 'w') as csvFile:
和
with open(path , 'w') as csvFile: ^^^^
如果要將一個文件附加到目錄路徑,可以使用os
package.json 。
file_path = os.path.join(path, file)

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
嗯,這有效
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)

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
如果您想附加(或寫入)現有文件,這也可以使用format:
path="insert\\pathOf\\file.txt"
with open("{}".format(path),'a') as file:
file.write("excellent\n")
'a' 用于追加,因此它會將 'excellent' 字符串添加到 file.txt。如果你想寫一個新文件,只需輸入'w'而不是'a'。
如果 file.txt 已經存在,則使用 'w' 將覆蓋該文件。\n 用于以新行結尾,因此如果您運行相同的代碼 2 次,它將在兩個不同的行中添加“優秀”而不是并排。
添加回答
舉報
0/150
提交
取消