在内置的蟒蛇开放的功能,是个什么模式之间准确的区别w,a,w+,a+,和r+?
特别是,文档暗示所有这些都允许写入文件,并说它打开文件"具体"附加",写入"和"更新",但没有定义这些术语的含义.
我需要Python的帮助.我正在尝试打开一个文件,如果该文件不存在,我需要创建它并打开它进行写入.到目前为止我有这个:
#open file for reading
fn = input("Enter file to open: ")
fh = open(fn,'r')
# if file does not exist, create it
if (!fh)
fh = open ( fh, "w")
Run Code Online (Sandbox Code Playgroud)
错误消息表明该行存在问题if(!fh).我可以exist在Perl中使用吗?
'r'将读取一个文件,'w'从一开始就在文件中写入文本,然后'a'追加。如何打开文件以同时读取和追加?
我尝试了这些,但出现错误:
open("filename", "r,a")
open("filename", "w")
open("filename", "r")
open("filename", "a")
Run Code Online (Sandbox Code Playgroud)
错误:
invalid mode: 'r,a'
Run Code Online (Sandbox Code Playgroud) 您好我想知道如何创建一个文件,如果它在direcotry中不存在.我只想附加数据.
我在Python中收到此错误没有这样的文件或目录.
这是我的代码:
with open (saveAddr+".csv",'a') as allpckts:
writer = csv.DictWriter(allpckts, delimiter=',', fieldnames=header)
if pktnum<2:
writer.writerow(dict((fn,fn) for fn in header))
writer.writerow(packet_data)
else:
writer.writerow(packet_data)
Run Code Online (Sandbox Code Playgroud)
更新: 我的问题是我不在正确的目录中.因此,对于搜索最基本语法的人来说,仅附加到CSV文件是:
with open (filename".csv",'a') as filedata:
writer = csv.DictWriter(filedata, delimiter=',', fieldnames=header)
writer.writerow(data)
Run Code Online (Sandbox Code Playgroud)