простая функция для создания второго файла (только для Linux):
import os
def tac(file1, file2):
print(os.system('tac %s > %s' % (file1,file2)))
как использовать
tac('ordered.csv', 'reversed.csv')
f = open('reversed.csv')
Создайте свою собственную функцию для выполнения команды OS через командная строка ?
Ради примера. Но знайте, где и почему Вы хотели бы использовать, это как другие отмечает.
public static void main(String arg[]) throws IOException{
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("shutdown -s -t 0");
System.exit(0);
}
Вот другой пример, который мог работать межплатформенный:
public static void shutdown() throws RuntimeException, IOException {
String shutdownCommand;
String operatingSystem = System.getProperty("os.name");
if ("Linux".equals(operatingSystem) || "Mac OS X".equals(operatingSystem)) {
shutdownCommand = "shutdown -h now";
}
else if ("Windows".equals(operatingSystem)) {
shutdownCommand = "shutdown.exe -s -t 0";
}
else {
throw new RuntimeException("Unsupported operating system.");
}
Runtime.getRuntime().exec(shutdownCommand);
System.exit(0);
}
определенные команды завершения работы могут потребовать различных путей или административных привилегий.
Быстрый ответ нет. Единственный способ сделать это путем вызова определенных для ОС команд, которые заставят компьютер завершать работу, предполагая, что приложение имеет необходимые полномочия сделать это. Это по сути непортативно, таким образом, Вы должны были бы или знать, куда Ваше приложение выполнит или иметь различные методы для различного OSs и обнаружит который использовать.
Можно использовать JNI, чтобы сделать это любым способом, которым Вы сделали бы это с C/C++.
Лучше использовать .startswith, чем использовать. Equals ...
String osName = System.getProperty("os.name");
if (osName.startsWith("Win")) {
shutdownCommand = "shutdown.exe -s -t 0";
} else if (osName.startsWith("Linux") || osName.startsWith("Mac")) {
shutdownCommand = "shutdown -h now";
} else {
System.err.println("Shutdown unsupported operating system ...");
//closeApp();
}
Работа отлично
RA.
Я использую эту программу для выключения компьютера за X минут.
public class Shutdown {
public static void main(String[] args) {
int minutes = Integer.valueOf(args[0]);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
ProcessBuilder processBuilder = new ProcessBuilder("shutdown",
"/s");
try {
processBuilder.start();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}, minutes * 60 * 1000);
System.out.println(" Shutting down in " + minutes + " minutes");
}
}