I am writing a script to clean up my desktop, moving files based on file type. The first step, it would seem, is to ls -1 /Users/user/Desktop
(I'm on Mac OSX). So, using Python, how would I run a command, then write the output to a file in a specific directory? Since this will be undocumented, and I'll be the only user, I don't mind (prefer?) if it uses os.system()
.
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Evil ctypes hack in python
- Correctly parse PDF paragraphs with Python
To open a file, you can use the
f = open(/Path/To/File)
command. The syntax isf = open('/Path/To/File', 'type')
where 'type' is r for reading, w for writing, and a for appending. The commands to do this aref.read()
andf.write('content_to_write')
. To get the output from a command line command, you have to use popen and subprocess instead ofos.system()
. os.system() doesn't return a value. You can read more on popen here.After skimming the python documentation to run shell command and obtain the output you can use the subprocess module with the
check_output
method.After that you can simple write that output to a file with the standard Python IO functions: File IO in python.
You can redirect standard output to any file using
>
in command.Using python,
However, if you are using python then instead of using
ls
command you can useos.listdir
to list all the files in the directory.