2
我需要使用不同的名稱創建多個文件,但每隔幾秒我都會收集數據,然後我需要將這些數據保存在每個文件中,並使用不同的名稱,但唯一的代碼會生成一個文件,另一個數據會覆蓋現有文件而不會創建另一個數據。如何在Python中使用不同的名稱創建多個文件
這是我的代碼:
name= datetime.utcnow().strftime('%Y-%m-%d %H_%M_%S.%f')[:-3]
filename = "Json/%s.json"% name
def get_json():
if not os.path.exists(os.path.dirname(filename)):
try:
os.makedirs(os.path.dirname(filename))
except OSError as exc: # Guard against race condition
if exc.errno != errno.EEXIST:
raise
with open(filename, "w") as f:
f.write("Hello")
def net_is_up():
while(1):
response = os.system("ping -c 1 " + hostname)
if response == 0:
print "[%s] Network is up!" % time.strftime("%Y-%m-%d %H:%M:%S")
#read_json()
get_json()
else:
print "[%s] Network is down :(" % time.strftime("%Y-%m-%d %H:%M:%S")
time.sleep(60)
此代碼不會做任何事情,因爲它從來沒有調用'get_json'。有什麼地方有循環嗎?或者這個文件重複執行? (如果是這樣,調用'get_json'的地方?)簡而言之,這段代碼是可以的,如果你調用'get_json',它應該創建一個文件,以代碼的運行時間命名。 – smarx
作爲一個瘋狂的猜測,你可能想要移動'get_json'中的前兩行。 (這將修復看起來像這樣的代碼,但是接着有一個循環,重複調用'get_json'而不重新計算'filename'。) – smarx
get_json是調用方法net_is_up() – Exbaby