Python-Pptx Documentation Release 0.6.21

Total Page:16

File Type:pdf, Size:1020Kb

Python-Pptx Documentation Release 0.6.21 python-pptx Documentation Release 0.6.21 Steve Canny Sep 20, 2021 Contents 1 Feature Support 3 2 User Guide 5 3 Community Guide 47 4 API Documentation 57 5 Contributor Guide 145 Python Module Index 511 Index 513 i ii python-pptx Documentation, Release 0.6.21 Release v0.6.21 (Installation) python-pptx is a Python library for creating and updating PowerPoint (.pptx) files. A typical use would be generating a customized PowerPoint presentation from database content, downloadable by clicking a link in a web application. Several developers have used it to automate production of presentation-ready engineering status reports based on information held in their work management system. It could also be used for making bulk updates to a library of presentations or simply to automate the production of a slide or two that would be tedious to get right by hand. More information is available in the python-pptx documentation. Browse examples with screenshots to get a quick idea what you can do with python-pptx. Contents 1 python-pptx Documentation, Release 0.6.21 2 Contents CHAPTER 1 Feature Support python-pptx has the following capabilities, with many more on the roadmap: • Round-trip any Open XML presentation (.pptx file) including all its elements • Add slides • Populate text placeholders, for example to create a bullet slide • Add image to slide at arbitrary position and size • Add textbox to a slide; manipulate text font size and bold • Add table to a slide • Add auto shapes (e.g. polygons, flowchart shapes, etc.) to a slide • Add and manipulate column, bar, line, and pie charts • Access and change core document properties such as title and subject Additional capabilities are actively being developed and added on a release cadence of roughly once per month. If you find a feature you need that python-pptx doesn’t yet have, reach out via the mailing list or issue tracker and we’ll see if we can jump the queue for you to pop it in there :) 3 python-pptx Documentation, Release 0.6.21 4 Chapter 1. Feature Support CHAPTER 2 User Guide 2.1 Introduction python-pptx is a Python library for creating and updating PowerPoint (.pptx) files. A typical use would be generating a customized PowerPoint presentation from database content, downloadble by clicking a link in a web application. Several developers have used it to automate production of presentation-ready engineering status reports based on information held in their work management system. It could also be used for making bulk updates to a library of presentations or simply to automate the production of a slide or two that would be tedious to get right by hand. This user guide is tutorial in nature, introducing concepts along with code examples that I hope will allow you to learn what you need while addressing the real-life PowerPoint challenges you’re working on. 2.1.1 python-pptx License The MIT License (MIT) Copyright (c) 2013 Steve Canny, https://github.com/scanny Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associ- ated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARIS- ING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5 python-pptx Documentation, Release 0.6.21 2.2 Installing python-pptx is hosted on PyPI, so installing with pip is simple: pip install python-pptx python-pptx depends on the lxml package and Pillow, the modern version of the Python Imaging Library (PIL). The charting features depend on XlsxWriter. Both pip and easy_install will take care of satisfying these dependencies for you, but if you use the setup.py installation method you will need to install the dependencies yourself. Currently python-pptx requires Python 2.7, 3.3, 3.4, or 3.6. The tests are run against 2.7 and 3.6 on Travis CI. 2.2.1 Dependencies • Python 2.6, 2.7, 3.3, 3.4, or 3.6 • lxml • Pillow • XlsxWriter (to use charting features) 2.3 Getting Started A quick way to get started is by trying out some of the examples below to get a feel for how to use python-pptx. The API documentation can help you with the fine details of calling signatures and behaviors. 2.3.1 Hello World! example 6 Chapter 2. User Guide python-pptx Documentation, Release 0.6.21 from pptx import Presentation prs= Presentation() title_slide_layout= prs.slide_layouts[0] slide= prs.slides.add_slide(title_slide_layout) title= slide.shapes.title subtitle= slide.placeholders[1] title.text="Hello, World!" subtitle.text="python-pptx was here!" prs.save('test.pptx') 2.3.2 Bullet slide example from pptx import Presentation prs= Presentation() bullet_slide_layout= prs.slide_layouts[1] slide= prs.slides.add_slide(bullet_slide_layout) shapes= slide.shapes title_shape= shapes.title body_shape= shapes.placeholders[1] (continues on next page) 2.3. Getting Started 7 python-pptx Documentation, Release 0.6.21 (continued from previous page) title_shape.text='Adding a Bullet Slide' tf= body_shape.text_frame tf.text='Find the bullet slide layout' p= tf.add_paragraph() p.text='Use _TextFrame.text for first bullet' p.level=1 p= tf.add_paragraph() p.text='Use _TextFrame.add_paragraph() for subsequent bullets' p.level=2 prs.save('test.pptx') Not all shapes can contain text, but those that do always have at least one paragraph, even if that paragraph is empty and no text is visible within the shape. _BaseShape.has_text_frame can be used to determine whether a shape can contain text. (All shapes subclass _BaseShape.) When _BaseShape.has_text_frame is True, _BaseShape.text_frame.paragraphs[0] returns the first paragraph. The text of the first paragraph can be set using text_frame.paragraphs[0].text. As a shortcut, the writable properties _BaseShape.text and _TextFrame.text are provided to accomplish the same thing. Note that these last two calls delete all the shape’s paragraphs except the first one before setting the text it contains. 2.3.3 add_textbox() example from pptx import Presentation from pptx.util import Inches, Pt (continues on next page) 8 Chapter 2. User Guide python-pptx Documentation, Release 0.6.21 (continued from previous page) prs= Presentation() blank_slide_layout= prs.slide_layouts[6] slide= prs.slides.add_slide(blank_slide_layout) left= top= width= height= Inches(1) txBox= slide.shapes.add_textbox(left, top, width, height) tf= txBox.text_frame tf.text="This is text inside a textbox" p= tf.add_paragraph() p.text="This is a second paragraph that's bold" p.font.bold= True p= tf.add_paragraph() p.text="This is a third paragraph that's big" p.font.size= Pt(40) prs.save('test.pptx') 2.3.4 add_picture() example from pptx import Presentation from pptx.util import Inches img_path='monty-truth.png' (continues on next page) 2.3. Getting Started 9 python-pptx Documentation, Release 0.6.21 (continued from previous page) prs= Presentation() blank_slide_layout= prs.slide_layouts[6] slide= prs.slides.add_slide(blank_slide_layout) left= top= Inches(1) pic= slide.shapes.add_picture(img_path, left, top) left= Inches(5) height= Inches(5.5) pic= slide.shapes.add_picture(img_path, left, top, height=height) prs.save('test.pptx') 2.3.5 add_shape() example from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE from pptx.util import Inches prs= Presentation() title_only_slide_layout= prs.slide_layouts[5] slide= prs.slides.add_slide(title_only_slide_layout) shapes= slide.shapes shapes.title.text='Adding an AutoShape' left= Inches(0.93) # 0.93" centers this overall set of shapes top= Inches(3.0) (continues on next page) 10 Chapter 2. User Guide python-pptx Documentation, Release 0.6.21 (continued from previous page) width= Inches(1.75) height= Inches(1.0) shape= shapes.add_shape(MSO_SHAPE.PENTAGON, left, top, width, height) shape.text='Step 1' left= left+ width- Inches(0.4) width= Inches(2.0) # chevrons need more width for visual balance for n in range(2,6): shape= shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height) shape.text='Step %d'%n left= left+ width- Inches(0.4) prs.save('test.pptx') Constants representing each of the available auto shapes (like MSO_SHAPE.ROUNDED_RECT, MSO_SHAPE.CHEVRON, etc.) are listed on the autoshape-types page. 2.3.6 add_table() example from pptx import Presentation from pptx.util import Inches prs= Presentation() title_only_slide_layout= prs.slide_layouts[5] slide= prs.slides.add_slide(title_only_slide_layout) shapes= slide.shapes (continues on next page) 2.3. Getting Started 11 python-pptx Documentation, Release 0.6.21 (continued from previous page) shapes.title.text='Adding a Table' rows= cols=2 left= top= Inches(2.0) width= Inches(6.0) height= Inches(0.8) table= shapes.add_table(rows, cols, left, top, width, height).table # set column widths table.columns[0].width= Inches(2.0) table.columns[1].width= Inches(4.0) # write column headings table.cell(0,0).text='Foo' table.cell(0,1).text='Bar' # write body cells table.cell(1,0).text='Baz' table.cell(1,1).text='Qux' prs.save('test.pptx') 2.3.7 Extract all text from slides in presentation from pptx import Presentation prs= Presentation(path_to_presentation) # text_runs will be populated with a list of strings, # one for each text run in presentation text_runs=[] for slide in prs.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for paragraph in shape.text_frame.paragraphs: for run in paragraph.runs: text_runs.append(run.text) 2.4 Working with Presentations python-pptx allows you to create new presentations as well as make changes to existing ones.
Recommended publications
  • Next Generation Web Scanning Presentation
    Next generation web scanning New Zealand: A case study First presented at KIWICON III 2009 By Andrew Horton aka urbanadventurer NZ Web Recon Goal: To scan all of New Zealand's web-space to see what's there. Requirements: – Targets – Scanning – Analysis Sounds easy, right? urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets What does 'NZ web-space' mean? It could mean: •Geographically within NZ regardless of the TLD •The .nz TLD hosted anywhere •All of the above For this scan it means, IPs geographically within NZ urbanadventurer (Andrew Horton) www.morningstarsecurity.com Finding Targets We need creative methods to find targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com DNS Zone Transfer urbanadventurer (Andrew Horton) www.morningstarsecurity.com Find IP addresses on IRC and by resolving lots of NZ websites 58.*.*.* 60.*.*.* 65.*.*.* 91.*.*.* 110.*.*.* 111.*.*.* 113.*.*.* 114.*.*.* 115.*.*.* 116.*.*.* 117.*.*.* 118.*.*.* 119.*.*.* 120.*.*.* 121.*.*.* 122.*.*.* 123.*.*.* 124.*.*.* 125.*.*.* 130.*.*.* 131.*.*.* 132.*.*.* 138.*.*.* 139.*.*.* 143.*.*.* 144.*.*.* 146.*.*.* 150.*.*.* 153.*.*.* 156.*.*.* 161.*.*.* 162.*.*.* 163.*.*.* 165.*.*.* 166.*.*.* 167.*.*.* 192.*.*.* 198.*.*.* 202.*.*.* 203.*.*.* 210.*.*.* 218.*.*.* 219.*.*.* 222.*.*.* 729,580,500 IPs. More than we want to try. urbanadventurer (Andrew Horton) www.morningstarsecurity.com IP address blocks in the IANA IPv4 Address Space Registry Prefix Designation Date Whois Status [1] -----
    [Show full text]
  • Flask Documentation Release 0.7Dev July 14, 2014
    Flask Documentation Release 0.7dev July 14, 2014 Contents I User’s Guide1 1 Foreword3 1.1 What does “micro” mean?...........................3 1.2 A Framework and an Example........................4 1.3 Web Development is Dangerous.......................4 1.4 The Status of Python 3.............................4 2 Installation7 2.1 virtualenv....................................7 2.2 System Wide Installation...........................8 2.3 Living on the Edge...............................9 2.4 easy_install on Windows............................9 3 Quickstart 11 3.1 A Minimal Application............................ 11 3.2 Debug Mode.................................. 12 3.3 Routing..................................... 13 3.4 Static Files.................................... 17 3.5 Rendering Templates.............................. 17 3.6 Accessing Request Data............................ 19 3.7 Redirects and Errors.............................. 22 3.8 Sessions..................................... 22 3.9 Message Flashing................................ 23 3.10 Logging..................................... 24 3.11 Hooking in WSGI Middlewares....................... 24 4 Tutorial 25 4.1 Introducing Flaskr............................... 25 4.2 Step 0: Creating The Folders......................... 26 4.3 Step 1: Database Schema........................... 27 4.4 Step 2: Application Setup Code........................ 27 i 4.5 Step 3: Creating The Database........................ 29 4.6 Step 4: Request Database Connections.................... 30 4.7 Step
    [Show full text]
  • Azure Increase Request Timeout
    Azure Increase Request Timeout Is Val snobby or uninaugurated after regimented Ulric inactivate so yet? Wakefield yo-ho indefeasibly as un-American Shadow bomb her Cherokee interwreathed unsystematically. Jeffrey metricize her peafowl unharmfully, avaricious and dozing. This can increase azure request timeout error and start work only Use this field to test small chunks of CSS code. If all else fails, there are many other settings that can be changed. The other consideration is this is per server so in multiple servers, it provides another means of segmenting load and configuring the resources differently for direct API requests and browser requests for HTML and CSS content. With the fast growing adoption of Kubernetes, and tutorials every week. Any configurable properties can have visited kinsta has django and request timeout for getting the signing region for sending various breaches where it can scale. Are you sure you want to allow comments on this post? Azure slot that webjobs are executed on the real website as well as the staging slot. Activity function to do the actual processing. If your browser shows an error message instead of the website you wanted to open, or arrange a chat, the operation was completely transparent and it has no idea such a transformation happened. This article is too good. Turn your data into revenue, missing, but nothing else. Http trigger azure website with his wife, application times out that clients can increase azure key. The first one was to serialize with a max depth. In the end, the reality slightly altered. As there exist a variety of operating systems, or the API platform.
    [Show full text]
  • Estudio De Web Servers
    UNIVERSIDADE DE VIGO ESCOLA SUPERIOR DE ENXEÑERÍA INFORMÁTICA Proyecto ACSO CURSO 2009/2010 Alumnos: Miguel Portela González Aarón Veiga Olivera Miguel Bermúdez Pena Noelia Pérez Álvarez 1.- INTRODUCCIÓN 2.- ESTADO DEL ARTE 3.- DESCRIPCIÓN TÉCNICA Y CONFIGURACIÓN • CHEROKEE • LIGHTTPD • APACHE • THTTPD 4.- RESULTADOS Y MEDICIONES EXPERIMENTALES 5.- INTERPRETACIÓN DE RESULTADOS 6.- CONCLUSIONES ESTUDIO DE LOS SERVIDORES CHEROKEE APACHE LIGHTTPD THTTPD PROPÓSITO DEL ESTUDIO MEDIR PARÁMETROS DE LOS SERVIDORES COMPROBAR CUÁL DE LOS SERVIDORES ES MEJOR REALIZAR GRÁFICAS DE LOS RESULTADOS OBTENER RESULTADOS Y CONCLUSIONES RESULTADOS ESPERADOS Será un articulo que ayude a una persona que necesite montar un servidor en su empresa para seleccionar la mejor opción. Los motivos y razones estarán fundamentadas en las pruebas y mediciones realizadas No hay estudios similares en la Web Ventajas y desventajas del software y herramientas utilizados DESVENTAJAS VENTAJAS Versiones de los servidores Servidor Versión Cherokee 0.99.19 Lighttpd 1.04.22 Apache 2.02.12 Thttpd 2.25b-6 Plataforma de pruebas CPU Intel Core Duo T2400 1.83GHz HDD Western Digital 250 GB 2.5 5400 rpm ATA Video Ati Radeon X1600 PRO 256MB Memoria RAM 3GB Tarjeta Wireless Intel 3950 ABG S.O. Ubuntu 9.10 Karmic Kernel 2.6.32 Servidor web de alto rendimiento. Es muy rápido, flexible y fácil de configurar. Interfaz gráfica Software libre. Totalmente modular. Multiplataforma (rendimiento nativo para Unix, Linux y Windows). Es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares. Está optimizado para entornos donde la velocidad es muy importante Es software libre La configuración se realiza mediante la edición de un archivo de texto Características: Virtual hosting CGI, SCGI y FastCGI Soporte para PHP, Ruby, Python y otros Cifrado SSL Compresión (gzip, bzip2, ...) Autenticación (LDAP, htpasswd, otros) … Servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos.
    [Show full text]
  • 2009 Shareholders Report
    Volume 9, Issue 1 March 2010 Shareholders’ Report 2009 National Weather Service • Weather Forecast Office • Peachtree City, Georgia Status Quo is Not an Option! Lans P. Rothfusz bulk of the rain fell at a less- Meteorologist in Charge than-ideal time (in the middle of the night, at the end of a Big News Items of 2009 ike any Weather Fore- weekend). Forecasting such a cast Office (WFO) in the small-scale, rare and epic event • Historic Flooding (pages 6 and National Weather Ser- with reasonable lead time is un- 10) L vice (NWS) after a ma- fortunately beyond the state of • WFO Wins DOC Silver Medal jor weather event, the Peach- today’s science. Even if it were (page 3) tree City WFO looks carefully for possible, the public must still ways in which warning services respond appropriately. 24-hour rainfall ending September 21st • Decision Support Program and public response might be showing >16” bulls-eye (yellow) over Evolves (page 10) Douglas County. Warnings were in effect, improved. This was the case As you will see in this yet eight people perished in this area. after the deadly September newsletter, ours is not an office floods in North Georgia— that sits still. We pride reduce the loss of life and In Fiscal Year 2009, especially the fateful morning of ourselves in learning from every September 21 when flooding property over time, but they do Congress appropriated event we work. We will con- take time to develop. claimed the lives of ten people. tinue improving our science and $958,900,000 to the NWS To say this was an epic event is skills.
    [Show full text]
  • Python - a Crash Course
    Python - A Crash Course Antonio Lima Networks and Distributed Systems 2012-2013 School of Computer Science - University of Birmingham 15 March 2013 Last week's Homework Write a Python program that counts the occurrences of words in a wordlist. counter = {} with open(filename, "r") as f: for line in f: if line in counter: counter[line] += 1 else: counter[line] = 1 We are asking permission. It's easier to ask forgiveness. Last week's Homework You ask forgiveness by executing a task and recovering if there is an error. counter = {} with open(filename, "r") as f: for line in f: try: counter[line] += 1 except KeyError: counter[line] = 1 That's much better (one operation less). But there's even a more pythonic solution. Last week's Homework You ask forgiveness by executing a task and recovering if there is an error. import collections counter = collections.defaultdict(int) with open(filename, "r") as f: for line in f: counter[line] += 1 5 lines, very readable, correct. Pythonic. Why using Python for Networking? • Well, why not? • Many successful companies/startups are using it. • Google, Yahoo, Dropbox, Quora, Disqus, ... • A lot of libraries are available. • You can build prototypes quickly. The socket module: not only sockets The module provides access to the BSD socket interface. Very low-level. >>> import socket >>> hostname = 'google.com' >>> addr = socket.gothostbyname(hostname) '173.194.41.102' >>> socket.getservbyname('ssh') 22 >>> socket.getservbyname('http') 80 The socket module: a client-server application # Client import socket import
    [Show full text]
  • Comparison of Web Server Software from Wikipedia, the Free Encyclopedia
    Create account Log in Article Talk Read Edit ViewM ohrisetory Search Comparison of web server software From Wikipedia, the free encyclopedia Main page This article is a comparison of web server software. Contents Featured content Contents [hide] Current events 1 Overview Random article 2 Features Donate to Wikipedia 3 Operating system support Wikimedia Shop 4 See also Interaction 5 References Help 6 External links About Wikipedia Community portal Recent changes Overview [edit] Contact page Tools Server Developed by Software license Last stable version Latest release date What links here AOLserver NaviSoft Mozilla 4.5.2 2012-09-19 Related changes Apache HTTP Server Apache Software Foundation Apache 2.4.10 2014-07-21 Upload file Special pages Apache Tomcat Apache Software Foundation Apache 7.0.53 2014-03-30 Permanent link Boa Paul Phillips GPL 0.94.13 2002-07-30 Page information Caudium The Caudium Group GPL 1.4.18 2012-02-24 Wikidata item Cite this page Cherokee HTTP Server Álvaro López Ortega GPL 1.2.103 2013-04-21 Hiawatha HTTP Server Hugo Leisink GPLv2 9.6 2014-06-01 Print/export Create a book HFS Rejetto GPL 2.2f 2009-02-17 Download as PDF IBM HTTP Server IBM Non-free proprietary 8.5.5 2013-06-14 Printable version Internet Information Services Microsoft Non-free proprietary 8.5 2013-09-09 Languages Jetty Eclipse Foundation Apache 9.1.4 2014-04-01 Čeština Jexus Bing Liu Non-free proprietary 5.5.2 2014-04-27 Galego Nederlands lighttpd Jan Kneschke (Incremental) BSD variant 1.4.35 2014-03-12 Português LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 4.2.3 2013-05-22 Русский Mongoose Cesanta Software GPLv2 / commercial 5.5 2014-10-28 中文 Edit links Monkey HTTP Server Monkey Software LGPLv2 1.5.1 2014-06-10 NaviServer Various Mozilla 1.1 4.99.6 2014-06-29 NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996 Nginx NGINX, Inc.
    [Show full text]
  • Master Thesis
    MASTER THESIS TITLE: Analysis and evaluation of high performance web servers MASTER DEGREE: Master in Science in Telecommunication Engineering & Management AUTHOR: Albert Hidalgo Barea DIRECTOR: Rubén González Blanco SUPERVISOR: Roc Meseguer Pallarès DATE: July 13 th 2011 Title: Analysis and evaluation of high performance web servers Author: Albert Hidalgo Barea Director: Rubén González Blanco Supervisor: Roc Meseguer Pallarès Date: July 13 th 2011 Overview Web servers are a very important tool when providing users with requested content on the Internet. Usage of the Internet is growing day-by-day, making those software applications essential. In the first part of the thesis, the web server world will be introduced to the reader, by giving a brief explanation of some of the available technologies as well as different dynamic protocols. Also, as there are different web servers available in the market, during this report it will be chosen the best performing ones. So, it will be presented a comparative chart between all of them in order to show the most important features of each one. Defining the scenario and the test cases is mandatory. For this reason, it is described the used hardware and software used to perform those benchmarks. The hardware is maintained equal during the whole test process, in order to let web server’s performance gaps to their internal architecture. Operating system and benchmarking tools are also described and given some examples. Furthermore, test cases are chosen to show some strengths and weakness of each web server, enabling us to compare the relative performance between them. Finally, the last part of the report consists on presenting the obtained results during the benchmark process, as well as presenting some lessons learned during the curse of the whole thesis, summing-up with some conclusions.
    [Show full text]
  • Security Testing Tutorial
    Security Testing About the Tutorial Security Testing is performed to reveal security flaws in the system in order to protect data and maintain functionality. This tutorial explains the core concepts of Security Testing and related topics with simple and useful examples. Audience This tutorial has been prepared for beginners to help them understand the basics of security testing. Prerequisites Before proceeding with this tutorial, you should have a basic understanding of software testing and its related concepts. Copyright & Disclaimer ¬ Copyright 2017 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i Security Testing Table of Contents About the Tutorial ....................................................................................................................................... i Audience ....................................................................................................................................................
    [Show full text]
  • Download (7MB)
    THE ASSIMILATION OF* LOAN WORDS IN MASAL ITT John Tees Edgar A thesis submitted for the degree of Doctor of Philosophy University of London 1988 - 1 - BIBL. LONDIN. UNIV ProQuest Number: 11010338 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a com plete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. uest ProQuest 11010338 Published by ProQuest LLC(2018). Copyright of the Dissertation is held by the Author. All rights reserved. This work is protected against unauthorized copying under Title 17, United States C ode Microform Edition © ProQuest LLC. ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106- 1346 I ^ 'f /I OJ' i I Dedicat ion For my mother and my sister - 3 - A B S T R A C T "The assimilation of loan words in Masai it" This is a study of the assimilation patterns and processes of Arabic words adopted into the Masai it language. The Masai it, a settled people numbering between one and two hundred thousand, live in Dar Masai it, the western district of Dar Fur, Sudan and in eastern Wadai, Chad. Most are peasant farmers, growing millet as their staple food and keeping goats, sheep and occasionally cows. Their language belongs to the Maba group (belonging to Greenberg's postulated Nilo-Saharan phylum. Many Masalit are bilingual in Masalit and Colloquial Arabic, some do not speak Masalit at all.
    [Show full text]
  • Introduction to the Papuan Languages of Timor, Alor and Pantar. Volume III Antoinette Schapper
    Introduction to The Papuan languages of Timor, Alor and Pantar. Volume III Antoinette Schapper To cite this version: Antoinette Schapper. Introduction to The Papuan languages of Timor, Alor and Pantar. Volume III. Antoinette Schapper. Papuan languages of Timor, Alor and Pantar. Sketch grammars, 3, De Gruyter Mouton, pp.1-52, 2020. halshs-02930405 HAL Id: halshs-02930405 https://halshs.archives-ouvertes.fr/halshs-02930405 Submitted on 4 Sep 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Distributed under a Creative Commons Attribution - NonCommercial - ShareAlike| 4.0 International License Introduction to The Papuan languages of Timor, Alor and Pantar. Volume III. Antoinette Schapper 1. Overview Documentary and descriptive work on Timor-Alor-Pantar (TAP) languages has proceeded at a rapid pace in the last 15 years. The publication of the volumes of TAP sketches by Pacific Linguistics has enabled the large volume of work on these languages to be brought together in a comprehensive and comparable way. In this third volume, five new descriptions of TAP languages are presented. Taken together with the handful of reference grammars (see Section 3), these volumes have achieved descriptive coverage of around 90% of modern-day TAP languages.
    [Show full text]
  • An Introduction to Python for Absolute Beginners
    An introduction to Python for absolute beginners Bob Dowling University Computing Service [email protected] http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/PythonAB 1 Welcome to the Computing Service's course “Introduction to Python”. This course is designed for people with absolutely no experience of programming. If you have any experience in programming other languages you are going to find this course extremely boring and you would be better off attending our course "Python for Programmers" where we teach you how to convert what you know from other programming languages to Python. This course is based around Python version 3. Python has recently undergone a change from Python 2 to Python 3 and there are some incompatibilities between the two versions. The older versions of this course were based around Python 2 but this course is built on Python 3. Python is named after Monty Python and its famous flying circus, not the snake. It is a trademark of the Python Software Foundation. 1 Course outline ― 1 Who uses Python & what for What sort of language it is How to launch Python Python scripts Text Names for values Reading in user data Numbers Conversions Comparisons Truth & Falsehood 2 2 Course outline ― 2 Assignment Names Our first “real” program Loops if… else… Indentation Comments 3 3 Course outline ― 3 Lists Indices Lengths Changing items Extending lists Methods Creating lists Testing lists Removing from lists for… loop Iterables Slices 4 4 Course outline ― 4 Files Reading & writing Writing our own functions
    [Show full text]