צריך עזרה בכתיבת סקריפט פייטון.
-
עדיטו
- חבר פעיל מאוד

- תגובות: 415
- הצטרף: יולי 2015
- שם מלא: adito
- נתן תודות: 20 פעמים
- קיבל תודות: 13 פעמים
אז ככה..
אני רוצה לכתוב סקריפט שפשוט יבדוק כמה מקום פנוי יש בדיסק,
מדובר על מערכת אנדרואיד ומשום מה הפקודה os.statvfs('/')
מחזירה לי שגיאה: 'module' object has no attribute 'statvfs'.
לא משנה מה אני שם בPATH.
האם יש איזו שהי דרך?
תודה רבה
אני רוצה לכתוב סקריפט שפשוט יבדוק כמה מקום פנוי יש בדיסק,
מדובר על מערכת אנדרואיד ומשום מה הפקודה os.statvfs('/')
מחזירה לי שגיאה: 'module' object has no attribute 'statvfs'.
לא משנה מה אני שם בPATH.
האם יש איזו שהי דרך?
תודה רבה
·עדיטו כתב:זה מה שניסיתי אבל לא עובד כפי שכבר כתבתי...
הפקודה כן עובדת אבל מחזירה לי שגיאה
.
'module' object has no attribute 'statvfs'.
האם יש דרך אחרת???...
שים לב שבתגובה הקודמת כתבתי os.fstatvfs ולא os.statvfs:
http://www.tutorialspoint.com/python/pd ... tatvfs.pdf
Batnun
.
@עדיטו
·הדרך האחרת היא לפתוח בsubprocess את הפקודה df
זה כבר אמור לעבוד...
·הדרך האחרת היא לפתוח בsubprocess את הפקודה df
קוד: בחירת הכל
import os
import sys
import subprocess
def freeSpaceInPath(path):
try:
f = os.statvfs(path)
return f.f_bsize * f.f_bavail
except Exception:
print("error using statvfs() for free space detection")
try:
df_process = subprocess.Popen(["df", path], stdout=subprocess.PIPE)
df_output = df_process.communicate()[0].decode('utf-8')
df_output = re.sub("\s\s+", " ", df_output)
megabytes_available_str = df_output.split("\n")[1].split(" ")[3]
return int(megabytes_available_str)
except Exception:
print("calling df also failed")
return None

