80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| Let's do a walk through a memory filesystem. 
 | |
| 
 | |
| .. >>> import py
 | |
| 
 | |
| 
 | |
| working with directories
 | |
| ---------------------------------
 | |
| 
 | |
| Let's create some directories and list them from memory::
 | |
| 
 | |
| >>> fs = py.fs.MemoryFS()
 | |
| >>> fs.mkdir("x")
 | |
| >>> fs.mkdir("y")
 | |
| >>> fs.listdir()
 | |
| ['x', 'y']
 | |
| 
 | |
| 
 | |
| Creating, removing and reading files
 | |
| ---------------------------------------------
 | |
| 
 | |
| >>> f = fs.open('x/file', 'w')
 | |
| >>> f.write("hello world")
 | |
| >>> f.close()
 | |
| >>> fs.listdir("x")
 | |
| ['file']
 | |
| >>> f = fs.open("x/file", 'r')
 | |
| >>> f.readlines()
 | |
| ['hello world']
 | |
| >>> f.seek(6)
 | |
| >>> f.read(3)
 | |
| "wor"
 | |
| >>> f.read()
 | |
| "ld"
 | |
| >>> f.close()
 | |
| >>> fs.remove("y")
 | |
| >>> fs.listdir()
 | |
| ['x']
 | |
| >>> fs.remove("non-existent")
 | |
| py.error.ENOENT 
 | |
| 
 | |
| stat / checking for meta information 
 | |
| ---------------------------------------
 | |
| 
 | |
| >>> stat = memory.stat("x")
 | |
| >>> stat.isdir()
 | |
| True
 | |
| >>> stat.isfile()
 | |
| False
 | |
| >>> stat.exists()
 | |
| True
 | |
| >>> stat.islink()
 | |
| False
 | |
| 
 | |
| Linking to other objects 
 | |
| --------------------------------------------------------
 | |
| 
 | |
| First an example how to link internally, i.e. within the 
 | |
| filesystem. 
 | |
| 
 | |
| >>> fs.link("newitem", "x")
 | |
| >>> fs.stat("newitem").islink()
 | |
| True
 | |
| >>> fs.stat("newitem").isfile()
 | |
| True
 | |
| >>> fs.remove("newitem")  # only deletes the link itself
 | |
| >>> fs.stat("x").exists()
 | |
| 
 | |
| cross-filesystem references 
 | |
| ---------------------------------
 | |
| 
 | |
| >>> otherfs = py.fs.MemoryFS()
 | |
| 
 | |
| XXX 
 | |
| 
 | |
| >>> fs.setproxy("newitem", otherfs, "otheritem")
 | |
| >>> fs.stat("newitem").exists()
 | |
| False
 | |
| >>> otherfs.mkdir("otheritem")
 |