您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 检查文件是否存在,如果不存在,则创建它[复制]

5b51 2022/1/14 8:21:48 python 字数 5492 阅读 504 来源 www.jb51.cc/python

参见英文答案 > How do I check whether a file exists without exceptions?????????????????????????????????????41个我试了一下:赶上但它不起作用.我想我可以把它改成if语句,但不明白为什么这不起作用.这是我的第一个“真实”项目.我正在建立一个灌溉控制器,并创建一

概述

参见英文答案 > How do I check whether a file exists without exceptions?                                    41个
我试了一下:赶上但它不起作用.我想我可以把它改成if语句,但不明白为什么这不起作用.这是我的第一个“真实”项目.我正在建立一个灌溉控制器,并创建一个灌溉时间表字典.第一个是我到目前为止的代码,第二个代码是我正在尝试的“测试”.每次我运行代码时,它都会重写现有文件,当我想要它时,如果它已经存在则打开文件而不是再次写入.

# timer will first look for a saved file(dictionary) of already recorded
# irrigation times.  If no file exists it will create one.  

# irrigation timer which does scheduled irrigation as well as cyclic   irrigation for propagating plants.
# uses a lcd 1602 display
# will use up to 10 different valves

import time
import datetime
import threading
import RPi.GPIO as GPIO
from RPLCD import CharLCD # http://www.circuitbasics.com/raspBerry-pi-lcd-set-up-and-programming-in-python/

GPIO.setmode(GPIO.BOARD)

# pinouts for lcd pins
lcd = CharLCD (cols=16,rows=2,pin_rs=37,pin_e=35,pins_data=[33,31,29,23]) 

# valve pins
valve_1 = 8
valve_2 = 10
valve_3 = 12
valve_4 = 16
valve_5 = 18
valve_6 = 22
valve_7 = 24
valve_8 = 26
valve_9 = 32
valve_10 = 36

# setup valve pins as outputs
GPIO.setup(valve_pin1,GPIO.OUT)
GPIO.setup(valve_pin2,GPIO.OUT)
GPIO.setup(valve_pin3,GPIO.OUT)
GPIO.setup(valve_pin4,GPIO.OUT)
GPIO.setup(valve_pin5,GPIO.OUT)
GPIO.setup(valve_pin6,GPIO.OUT)
GPIO.setup(valve_pin7,GPIO.OUT)
GPIO.setup(valve_pin8,GPIO.OUT)
GPIO.setup(valve_pin9,GPIO.OUT)
GPIO.setup(valve_pin10,GPIO.OUT)

#set all valve pins to off
GPIO.output(valve_pin1,False)
GPIO.output(valve_pin2,False)
GPIO.output(valve_pin3,False)
GPIO.output(valve_pin4,False)
GPIO.output(valve_pin5,False)
GPIO.output(valve_pin6,False)
GPIO.output(valve_pin7,False)
GPIO.output(valve_pin8,False)
GPIO.output(valve_pin9,False)
GPIO.output(valve_pin10,False)

# check to see if a schedule has been saved
def sched_check()
    try:
        file = open("schedule.dat","r")
        schedule = schedule.read()
        file.close()
    # create a list of schedule dictionaries
    except:
        schedule_list = []
        for schedule_number in range(10):
            schedule = {
                                        "timed" : {
                                                  "watering_days" : [],"watering_times" : [],"duration" : "timed_duration",},"cyclic" : {
                                                  "time_on" : "seconds_on","time_off" : "seconds_off","blackout_window_start" : "blkout_time_start","blackout_window_stop" : "blkout_time_stop",}
            schedule_list.append(schedule)
        file = open("schedule.dat","w")
        file.write(str(schedule_list))
        file.close()

这本身就是问题所在.

def sched_check():
    try:
        file = open("schedule.dat","r")
        schedule = schedule.read()
        file.close()
        print("file already exists")
    # create a list of schedule dictionaries
    except:
        schedule_list = []
        for schedule_number in range(10):
            schedule = {
                                        "timed" : {
                                                  "watering_days" : [],"w")
        file.write(str(schedule_list))
        file.close()
        print("new file created")

sched_check()

使用os.stat的替代解决方包括

import os
try:
    os.stat("schedule.dat")
    ... # file exists
except:
    file = open("schedule.dat","w")
    ...

引发异常的是您尝试统计不存在的文件.

总结

以上是编程之家为你收集整理的python – 检查文件是否存在,如果不存在,则创建它[复制]全部内容,希望文章能够帮你解决python – 检查文件是否存在,如果不存在,则创建它[复制]所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶