Python/File System: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 38: Line 38:
os.path.mkdir('dirname')          # Standard
os.path.mkdir('dirname')          # Standard
if not os.path.isdir('dirname'):
if not os.path.isdir('dirname'):
     os.path.makedirs('dirname')  # Recursively
     os.makedirs('dirname')  # Recursively
os.rmdir('dirname')              # Only works for empty directory.
os.rmdir('dirname')              # Only works for empty directory.
os.removedirs('dirname')          # Recursively
os.removedirs('dirname')          # Recursively
</source>
</source>
|-
|-
| List directory ||
| Change/List directory ||
<source lang="python">
<source lang="python">
import os
import os
os.chdir('sucks')


for i in os.listdir():
for i in os.listdir():
Line 51: Line 53:
</source>
</source>
|-
|-
| Relative path from source path ||
| Relative path from source path<br>See: [https://stackoverflow.com/questions/7116889/python-file-attribute-absolute-or-relative StackOverFlow 1] [https://stackoverflow.com/questions/38412495/difference-between-os-path-dirnameos-path-abspath-file-and-os-path-dirnam/38412504 StackOverFlow 2] ||
<source lang="python3">
<source lang="python3">
import os.path
from os.path import abspath, dirname
 
# Solution 1
os.path.realpath(os.path.realpath(os.path.dirname(__file__)) + '/../../data')


# Solution 2
abspath(abspath(dirname(__file__)) + '/../../data')
SRC_PATH = os.path.dirname(__file__)
if SRC_PATH != '':
    DATA_PATH = os.path.realpath(SRC_PATH + '/../../data')
else:
    DATA_PATH = os.path.realpath('../../data')
</source>
</source>
|}
|}

Latest revision as of 02:59, 28 August 2019

TODO CODE
Read/Write file mtime
import os
import os.path

mtime = os.path.getmtime('filename')
os.utime('filename', (mtime, atime))
Copy/Move/Delete file
import os
import shutil

shutil.copy(src, dst)
shutil.move(src, dst)
shutil.rmtree(dir)
os.rename(src, dst)
os.remove(dst)
Path conversion
import os.path

CODE_PATH = os.path.realpath(os.path.dirname(__file__)) + '/'
DATA_PATH = os.path.expanduser('~/osm-data/')
Make/Delete directories.
import os
import os.path

os.path.mkdir('dirname')          # Standard
if not os.path.isdir('dirname'):
    os.makedirs('dirname')   # Recursively
os.rmdir('dirname')               # Only works for empty directory.
os.removedirs('dirname')          # Recursively
Change/List directory
import os

os.chdir('sucks')

for i in os.listdir():
    print(i)
Relative path from source path
See: StackOverFlow 1 StackOverFlow 2
from os.path import abspath, dirname

abspath(abspath(dirname(__file__)) + '/../../data')